using CompanyManagment.App.Contracts.Employee; using WorkFlow.Application.Contracts.AdminWorkFlow; using WorkFlow.Infrastructure.ACL.EmployeeDocuments; namespace WorkFlow.Application { public class AdminWorkFlowApplication : IAdminWorkFlowApplication { private readonly IWorkFlowEmployeeDocumentsACL _workFlowEmployeeDocumentsACL; //private readonly IWorkFlowWorkshopACL _workFlowWorkshopACL; //private readonly IWorkFlowEmployeeACL _workFlowEmployeeACL; public AdminWorkFlowApplication(IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL/*, IWorkFlowWorkshopACL workFlowWorkshopACL, IWorkFlowEmployeeACL workFlowEmployeeACL*/) { _workFlowEmployeeDocumentsACL = workFlowEmployeeDocumentsACL; //_workFlowWorkshopACL = workFlowWorkshopACL; //_workFlowEmployeeACL = workFlowEmployeeACL; } #region Pooya public List GetWorkshopDocumentsAwaitingReviewForChecker(List workshops) { return _workFlowEmployeeDocumentsACL.GetWorkshopDocumentsAwaitingReviewForChecker(workshops); } public async Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds) { var submittedDocumentsByClient = await _workFlowEmployeeDocumentsACL.GetAdminWorkFlowCountForSubmittedDocuments(workshopIds); var newEmployees = await _workFlowEmployeeDocumentsACL.GetAdminWorkFlowCountForNewEmployees(workshopIds); return submittedDocumentsByClient + newEmployees; } public async Task GetWorkFlowCountForChecker() { return await _workFlowEmployeeDocumentsACL.GetCheckerWorkFlowCount(); } public List GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List workshops) { return _workFlowEmployeeDocumentsACL.GetWorkshopsWithDocumentsAwaitingUploadForAdmin(workshops); } #endregion #region Mahan #region شروع به کار پرسنل افزوده شده public async Task> GetWorkshopsForEmployeeStartWork(long accountId) { return await _workFlowWorkshopACL.GetWorkshopsForEmployeeStartWork(accountId); } public async Task GetWorkshopsForEmployeeStartWorkCount(long accountId) { return await _workFlowWorkshopACL.GetWorkshopsForEmployeeStartWorkCount(accountId); } public async Task> GetClientEmployeesStartWork(long workshopId) { return await _workFlowEmployeeACL.GetClientEmployeesStartWork(workshopId); } public async Task GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, long workshopId) { return await _workFlowEmployeeACL.GetEmployeeEditInEmployeeDocumentWorkFlow(employeeId, workshopId); } public async Task EditEmployeeInEmployeeDocumentWorkFlow( EditEmployeeInEmployeeDocument command) { return await _workFlowEmployeeACL.EditEmployeeInEmployeeDocumentWorkFlow(command); } #endregion #region ترک کار موقت public async Task> GetWorkshopsForLeftWorkTemp(long accountId) { return await _workFlowWorkshopACL.GetWorkshopsForLeftWorkTemp(accountId); } public async Task GetWorkshopsForLeftWorkTempCount(long accountId) { return await _workFlowWorkshopACL.GetWorkshopsForLeftWorkTempCount(accountId); } public async Task> GetEmployeesForLeftWorkTemp(long workshopId) { return await _workFlowEmployeeACL.GetEmployeesForLeftWorkTemp(workshopId); } #endregion #endregion } }