feat: add method to retrieve working employees select list by workshop ID
This commit is contained in:
@@ -1286,5 +1286,30 @@ public class EmployeeRepository : RepositoryBase<long, Employee>, IEmployeeRepos
|
|||||||
&& x.EmployeeStatusInWorkshop != EmployeeStatusInWorkshop.LefWorkTemp)
|
&& x.EmployeeStatusInWorkshop != EmployeeStatusInWorkshop.LefWorkTemp)
|
||||||
.Select(x => new PrintAllEmployeesInfoDtoClient(x)).ToList();
|
.Select(x => new PrintAllEmployeesInfoDtoClient(x)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<List<EmployeeSelectListViewModel>> GetWorkingEmployeesSelectList(long workshopId)
|
||||||
|
{
|
||||||
|
var dateNow = DateTime.Now.Date;
|
||||||
|
|
||||||
|
|
||||||
|
var workshopActiveLeftWorksQuery = _context.LeftWorkList.Where(x => x.WorkshopId == workshopId &&
|
||||||
|
x.StartWorkDate <= dateNow && x.LeftWorkDate > dateNow);
|
||||||
|
|
||||||
|
|
||||||
|
var workshopActiveInsuranceLeftWorksQuery = _context.LeftWorkInsuranceList.Where(x => x.WorkshopId == workshopId &&
|
||||||
|
x.StartWorkDate <= dateNow && (x.LeftWorkDate > dateNow || x.LeftWorkDate == null));
|
||||||
|
|
||||||
|
|
||||||
|
var employeesQuery = _context.Employees.Where(x => workshopActiveLeftWorksQuery.Any(y => y.EmployeeId == x.id) ||
|
||||||
|
workshopActiveInsuranceLeftWorksQuery.Any(y => y.EmployeeId == x.id));
|
||||||
|
|
||||||
|
|
||||||
|
return await employeesQuery.Select(x => new EmployeeSelectListViewModel()
|
||||||
|
{
|
||||||
|
Id = x.id,
|
||||||
|
EmployeeFullName = x.FullName
|
||||||
|
}).ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user