136 lines
5.1 KiB
C#
136 lines
5.1 KiB
C#
using _0_Framework.Application;
|
||
using CompanyManagment.App.Contracts.Employee;
|
||
using WorkFlow.Application.Contracts.AdminWorkFlow;
|
||
using WorkFlow.Infrastructure.ACL.Employee;
|
||
using WorkFlow.Infrastructure.ACL.EmployeeDocuments;
|
||
using WorkFlow.Infrastructure.ACL.Workshop;
|
||
|
||
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<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops)
|
||
{
|
||
return _workFlowEmployeeDocumentsACL.GetWorkshopDocumentsAwaitingReviewForChecker(workshops);
|
||
}
|
||
|
||
|
||
|
||
public async Task<int> GetEmployeeDocumentWorkFlowCountsForAdmin(List<long> workshopIds,long roleId)
|
||
{
|
||
var count = 0;
|
||
count += await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentRejectedForAdmin(workshopIds,roleId);
|
||
|
||
count+= await _workFlowEmployeeDocumentsACL.GetCreatedEmployeesWorkshopDocumentForAdmin(workshopIds,roleId);
|
||
|
||
//count+= await _workFlowEmployeeDocumentsACL.GetClientRejectedDocumentWorkshopsForAdmin(workshopIds, roleId);
|
||
|
||
return count;
|
||
}
|
||
|
||
public async Task<int> GetWorkFlowCountsForAdmin(List<long> workshopIds, long accountId,long roleId)
|
||
{
|
||
var employeeDocumentWorkFlowCounts = await GetEmployeeDocumentWorkFlowCountsForAdmin(workshopIds, roleId);
|
||
var startWork = await GetWorkshopsForEmployeeStartWorkCount(accountId);
|
||
var leftWork = await GetWorkshopsForLeftWorkTempCount(accountId);
|
||
|
||
return employeeDocumentWorkFlowCounts + startWork + leftWork;
|
||
}
|
||
|
||
public async Task<int> GetWorkFlowCountForChecker()
|
||
{
|
||
return await _workFlowEmployeeDocumentsACL.GetCheckerWorkFlowCount();
|
||
|
||
}
|
||
|
||
|
||
|
||
public List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List<long> workshops)
|
||
{
|
||
return _workFlowEmployeeDocumentsACL.GetWorkshopsWithDocumentsAwaitingUploadForAdmin(workshops);
|
||
}
|
||
|
||
|
||
#endregion
|
||
|
||
#region Mahan
|
||
|
||
#region شروع به کار پرسنل افزوده شده
|
||
public async Task<ICollection<WorkshopWithStartedWorkWorkFlowViewModel>> GetWorkshopsForEmployeeStartWork(long accountId)
|
||
{
|
||
return await _workFlowWorkshopACL.GetWorkshopsForEmployeeStartWork(accountId);
|
||
}
|
||
|
||
public async Task<int> GetWorkshopsForEmployeeStartWorkCount(long accountId)
|
||
{
|
||
return await _workFlowWorkshopACL.GetWorkshopsForEmployeeStartWorkCount(accountId);
|
||
}
|
||
|
||
|
||
|
||
|
||
public async Task<ICollection<ClientStartedWorkEmployeesWorkFlowViewModel>> GetClientEmployeesStartWork(long workshopId)
|
||
{
|
||
return await _workFlowEmployeeACL.GetClientEmployeesStartWork(workshopId);
|
||
}
|
||
|
||
public async Task<GetEditEmployeeInEmployeeDocumentViewModel> GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, long workshopId)
|
||
{
|
||
return await _workFlowEmployeeACL.GetEmployeeEditInEmployeeDocumentWorkFlow(employeeId, workshopId);
|
||
}
|
||
|
||
public async Task<OperationResult> EditEmployeeInEmployeeDocumentWorkFlow(
|
||
EditEmployeeInEmployeeDocument command)
|
||
{
|
||
return await _workFlowEmployeeACL.EditEmployeeInEmployeeDocumentWorkFlow(command);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region ترک کار موقت
|
||
|
||
public async Task<ICollection<WorkshopWithLeftWorkWorkFlowViewModel>> GetWorkshopsForLeftWorkTemp(long accountId)
|
||
{
|
||
return await _workFlowWorkshopACL.GetWorkshopsForLeftWorkTemp(accountId);
|
||
}
|
||
public async Task<int> GetWorkshopsForLeftWorkTempCount(long accountId)
|
||
{
|
||
return await _workFlowWorkshopACL.GetWorkshopsForLeftWorkTempCount(accountId);
|
||
}
|
||
|
||
public async Task<ICollection<ClientLeftWorkEmployeesWorkFlowViewModel>> GetEmployeesForLeftWorkTemp(long workshopId)
|
||
{
|
||
return await _workFlowEmployeeACL.GetEmployeesForLeftWorkTemp(workshopId);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region آپلود مدارک پرسنل
|
||
|
||
public async Task<ICollection<WorkshopWithDocumentsViewModelForWorkFlow>> GetWorkshopDocumentCreatedEmployeeForAdmin(List<long> workshops, long roleId)
|
||
{
|
||
return await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentCreatedEmployeeForAdmin(workshops, roleId);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#endregion
|
||
}
|
||
|
||
|
||
}
|