Files
Backend-Api/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/EmployeeDocuments/IWorkFlowEmployeeDocumentsACL.cs
2025-02-18 16:16:33 +03:30

62 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);
int GetAdminWorkFlowCountForSubmittedDocuments(List<long> workshopIds);
//int GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds);
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 int GetAdminWorkFlowCountForSubmittedDocuments(List<long> workshopIds)
{
return _employeeDocumentsApplication.GetAdminWorkFlowCountForSubmittedAndRejectedDocuments(workshopIds);
}
//public int GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds)
//{
// return _employeeDocumentsApplication.GetAdminWorkFlowCountForNewEmployees(workshopIds);
//}
public int GetCheckerWorkFlowCount()
{
return _employeeDocumentsApplication.GetCheckerWorkFlowCount();
}
public List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops)
{
return _employeeDocumentsApplication.GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow().Select(x=> new WorkshopWithDocumentsViewModelForWorkFlow()
{
WorkshopId = x.WorkshopId,
UploadItemsCount = x.SubmittedItemsCount
}).ToList();
}
}
}