63 lines
2.5 KiB
C#
63 lines
2.5 KiB
C#
using CompanyManagment.App.Contracts.EmployeeDocuments;
|
|
using WorkFlow.Application.Contracts.AdminWorkFlow;
|
|
|
|
namespace WorkFlow.Infrastructure.ACL.EmployeeDocuments
|
|
{
|
|
public interface IWorkFlowEmployeeDocumentsACL
|
|
{
|
|
List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops);
|
|
List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List<long> workshops);
|
|
|
|
|
|
Task<int> GetAdminWorkFlowCountForSubmittedDocuments(List<long> workshopIds);
|
|
Task<int> GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds);
|
|
Task<int> GetCheckerWorkFlowCount();
|
|
}
|
|
|
|
public class WorkFlowEmployeeDocumentsACL : IWorkFlowEmployeeDocumentsACL
|
|
{
|
|
private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication;
|
|
|
|
public WorkFlowEmployeeDocumentsACL(IEmployeeDocumentsApplication employeeDocumentsApplication)
|
|
{
|
|
_employeeDocumentsApplication = employeeDocumentsApplication;
|
|
}
|
|
|
|
|
|
public List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List<long> workshops)
|
|
{
|
|
return _employeeDocumentsApplication.GetWorkshopDocumentsAwaitingUploadForAdminWorkFlow(workshops).Select(x => new WorkshopWithDocumentsViewModelForWorkFlow()
|
|
{
|
|
WorkshopId = x.WorkshopId,
|
|
UploadItemsCount = x.EmployeesWithoutDocumentCount,
|
|
WorkshopName = x.WorkshopFullName,
|
|
EmployerName = x.EmployerName,
|
|
}).ToList();
|
|
}
|
|
|
|
public async Task<int> GetAdminWorkFlowCountForSubmittedDocuments(List<long> workshopIds)
|
|
{
|
|
return await _employeeDocumentsApplication.GetAdminWorkFlowCountForSubmittedAndRejectedDocuments(workshopIds);
|
|
}
|
|
public async Task<int> GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds)
|
|
{
|
|
return await _employeeDocumentsApplication.GetAdminWorkFlowCountForNewEmployees(workshopIds);
|
|
}
|
|
public async Task<int> GetCheckerWorkFlowCount()
|
|
{
|
|
return await _employeeDocumentsApplication.GetCheckerWorkFlowCount();
|
|
}
|
|
|
|
public List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops)
|
|
{
|
|
return _employeeDocumentsApplication.GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow().Select(x=> new WorkshopWithDocumentsViewModelForWorkFlow()
|
|
{
|
|
WorkshopId = x.WorkshopId,
|
|
UploadItemsCount = x.SubmittedItemsCount
|
|
}).ToList();
|
|
}
|
|
|
|
|
|
}
|
|
}
|