Files
Backend-Api/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/Employee/IWorkFlowEmployeeACL.cs
2025-03-09 21:52:06 +03:30

61 lines
2.4 KiB
C#

using _0_Framework.Application;
using CompanyManagment.App.Contracts.Employee;
using WorkFlow.Application.Contracts.AdminWorkFlow;
namespace WorkFlow.Infrastructure.ACL.Employee;
public interface IWorkFlowEmployeeACL
{
Task<ICollection<ClientStartedWorkEmployeesWorkFlowViewModel>> GetClientEmployeesStartWork(long workshopId);
Task<ICollection<ClientLeftWorkEmployeesWorkFlowViewModel>> GetEmployeesForLeftWorkTemp(long workshopId);
Task<GetEditEmployeeInEmployeeDocumentViewModel> GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId,
long workshopId);
Task<OperationResult> EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command);
}
public class WorkFlowEmployeeACL : IWorkFlowEmployeeACL
{
private readonly IEmployeeApplication _employeeApplication;
public WorkFlowEmployeeACL(IEmployeeApplication employeeApplication)
{
_employeeApplication = employeeApplication;
}
public async Task<ICollection<ClientStartedWorkEmployeesWorkFlowViewModel>> GetClientEmployeesStartWork(long workshopId)
{
var dto = await _employeeApplication.GetClientEmployeesStartWork(workshopId);
return dto.Select(x => new ClientStartedWorkEmployeesWorkFlowViewModel()
{
WorkshopId = x.WorkshopId,
EmployeeId = x.EmployeeId,
EmployeeName = x.EmployeeName,
HasCompleteEmployeeDocument = x.HasCompleteEmployeeDocument
}).ToList();
}
public async Task<ICollection<ClientLeftWorkEmployeesWorkFlowViewModel>> GetEmployeesForLeftWorkTemp(long workshopId)
{
var dto = await _employeeApplication.GetEmployeesForLeftWorkTemp(workshopId);
return dto.Select(x => new ClientLeftWorkEmployeesWorkFlowViewModel()
{
WorkshopId = x.WorkshopId,
EmployeeId = x.EmployeeId,
EmployeeName = x.EmployeeName,
LeftWorkDate = x.LeftWorkDateTime
}).ToList();
}
public async Task<GetEditEmployeeInEmployeeDocumentViewModel> GetEmployeeEditInEmployeeDocumentWorkFlow(
long employeeId, long workshopId)
{
return await _employeeApplication.GetEmployeeEditInEmployeeDocumentWorkFlow(employeeId, workshopId);
}
public async Task<OperationResult> EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command)
{
return await _employeeApplication.EditEmployeeInEmployeeDocumentWorkFlow(command);
}
}