@@ -3,6 +3,7 @@ using CompanyManagment.App.Contracts.Employee;
using WorkFlow.Application.Contracts.AdminWorkFlow ;
using WorkFlow.Infrastructure.ACL.Employee ;
using WorkFlow.Infrastructure.ACL.EmployeeDocuments ;
using WorkFlow.Infrastructure.ACL.InstitutionContract ;
using WorkFlow.Infrastructure.ACL.Workshop ;
namespace WorkFlow.Application
@@ -12,65 +13,76 @@ namespace WorkFlow.Application
private readonly IWorkFlowEmployeeDocumentsACL _workFlowEmployeeDocumentsACL ;
private readonly IWorkFlowWorkshopACL _workFlowWorkshopACL ;
private readonly IWorkFlowEmployeeACL _workFlowEmployeeACL ;
private readonly IWorkFlowInstitutionContractACL _workFlowInstitutionContractACL ;
public AdminWorkFlowApplication ( IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL , IWorkFlowWorkshopACL workFlowWorkshopACL , IWorkFlowEmployeeACL workFlowEmployeeACL )
public AdminWorkFlowApplication ( IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL ,
IWorkFlowWorkshopACL workFlowWorkshopACL , IWorkFlowEmployeeACL workFlowEmployeeACL ,
IWorkFlowInstitutionContractACL workFlowInstitutionContractACL )
{
_workFlowEmployeeDocumentsACL = workFlowEmployeeDocumentsACL ;
_workFlowWorkshopACL = workFlowWorkshopACL ;
_workFlowEmployeeACL = workFlowEmployeeACL ;
_workFlowInstitutionContractACL = workFlowInstitutionContractACL ;
}
#region Pooya
public List < WorkshopWithDocumentsViewModelForWorkFlow > GetWorkshopDocumentsAwaitingReviewForChecker ( List < long > workshops )
public List < WorkshopWithDocumentsViewModelForWorkFlow > GetWorkshopDocumentsAwaitingReviewForChecker (
List < long > workshops )
{
return _workFlowEmployeeDocumentsACL . GetWorkshopDocumentsAwaitingReviewForChecker ( workshops ) ;
}
public async Task < int > GetEmployeeDocumentWorkFlowCountsForAdmin ( List < long > workshopIds , long roleId )
public async Task < int > GetEmployeeDocumentWorkFlowCountsForAdmin ( List < long > workshopIds , long roleId )
{
var count = 0 ;
count + = await _workFlowEmployeeDocumentsACL . GetWorkshopDocumentRejectedForAdmin ( workshopIds , roleId ) ;
count + = await _workFlowEmployeeDocumentsACL . GetWorkshopDocumentRejectedForAdmin ( workshopIds , roleId ) ;
count + = await _workFlowEmployeeDocumentsACL . GetCreatedEmployeesWorkshopDocumentForAdmin ( 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 )
public async Task < int > GetWorkFlowCountsForAdmin ( List < long > workshopIds , long accountId , long roleId ,
List < int > permissions )
{
var employeeDocumentWorkFlowCounts = await GetEmployeeDocumentWorkFlowCountsForAdmin ( workshopIds , roleId ) ;
var startWork = await GetWorkshopsForEmployeeStartWorkCount ( accountId ) ;
var leftWork = await GetWorkshopsForLeftWorkTempCount ( accountId ) ;
int institutionContract = 0 ;
if ( permissions . Any ( x = > x = = 1004 ) )
{
institutionContract = await GetInstitutionContractWorkflowCount ( ) ;
}
return employeeDocumentWorkFlowCounts + startWork + leftWork ;
return employeeDocumentWorkFlowCounts + startWork + leftWork + institutionContract ;
}
public async Task < int > GetWorkFlowCountForChecker ( )
{
return await _workFlowEmployeeDocumentsACL . GetCheckerWorkFlowCount ( ) ;
}
public List < WorkshopWithDocumentsViewModelForWorkFlow > GetWorkshopsWithDocumentsAwaitingUploadForAdmin ( List < long > workshops )
public List < WorkshopWithDocumentsViewModelForWorkFlow > GetWorkshopsWithDocumentsAwaitingUploadForAdmin (
List < long > workshops )
{
return _workFlowEmployeeDocumentsACL . GetWorkshopsWithDocumentsAwaitingUploadForAdmin ( workshops ) ;
}
#endregion
#region Mahan
#region ش ر و ع ب ه ک ا ر پ ر س ن ل ا ف ز و د ه ش د ه
public async Task < ICollection < WorkshopWithStartedWorkWorkFlowViewModel > > GetWorkshopsForEmployeeStartWork ( long accountId )
public async Task < ICollection < WorkshopWithStartedWorkWorkFlowViewModel > > GetWorkshopsForEmployeeStartWork (
long accountId )
{
return await _workFlowWorkshopACL . GetWorkshopsForEmployeeStartWork ( accountId ) ;
}
@@ -81,14 +93,14 @@ namespace WorkFlow.Application
}
public async Task < ICollection < ClientStartedWorkEmployeesWorkFlowViewModel > > GetClientEmployeesStartWork ( long workshopId )
public async Task < ICollection < ClientStartedWorkEmployeesWorkFlowViewModel > > GetClientEmployeesStartWork (
long workshopId )
{
return await _workFlowEmployeeACL . GetClientEmployeesStartWork ( workshopId ) ;
}
public async Task < GetEditEmployeeInEmployeeDocumentViewModel > GetEmployeeEditInEmployeeDocumentWorkFlow ( long employeeId , long workshopId )
public async Task < GetEditEmployeeInEmployeeDocumentViewModel > GetEmployeeEditInEmployeeDocumentWorkFlow (
long employeeId , long workshopId )
{
return await _workFlowEmployeeACL . GetEmployeeEditInEmployeeDocumentWorkFlow ( employeeId , workshopId ) ;
}
@@ -103,16 +115,24 @@ namespace WorkFlow.Application
#region ت ر ک ک ا ر م و ق ت
public async Task < ICollection < WorkshopWithLeftWorkWorkFlowViewModel > > GetWorkshopsForLeftWorkTemp ( long accountId )
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 < ClientLeftWorkEmployees WorkF lowViewModel > > GetEmployeesForLeftWorkTemp ( long workshopId )
public async Task < int > GetInstitutionContract Workf lowCount ( )
{
return await _workFlowInstitutionContractACL . GetInstitutionContractWorkflowCount ( ) ;
}
public async Task < ICollection < ClientLeftWorkEmployeesWorkFlowViewModel > > GetEmployeesForLeftWorkTemp (
long workshopId )
{
return await _workFlowEmployeeACL . GetEmployeesForLeftWorkTemp ( workshopId ) ;
}
@@ -121,7 +141,8 @@ namespace WorkFlow.Application
#region آ پ ل و د م د ا ر ک پ ر س ن ل
public async Task < ICollection < WorkshopWithDocumentsViewModelForWorkFlow > > GetWorkshopDocumentCreatedEmployeeForAdmin ( List < long > workshops , long roleId )
public async Task < ICollection < WorkshopWithDocumentsViewModelForWorkFlow > >
GetWorkshopDocumentCreatedEmployeeForAdmin ( List < long > workshops , long roleId )
{
return await _workFlowEmployeeDocumentsACL . GetWorkshopDocumentCreatedEmployeeForAdmin ( workshops , roleId ) ;
}
@@ -130,6 +151,4 @@ namespace WorkFlow.Application
#endregion
}
}
}