public async Task <int> GetMyCountAsync(int companyId, GetMyEmployeesFilter filter) { using (var db = new DeadlineContext()) { return(await GetMyEmployeesQuery(db, companyId, filter).CountAsync()); } }
private static IQueryable <Employees> GetMyEmployeesQuery(DeadlineContext db, int companyId, GetMyEmployeesFilter filter) { return(db.Employees.Where(employee => employee.CompanyId.HasValue && employee.CompanyId.Value == companyId && employee.ProjectId.HasValue == filter.Assigned)); }
public async Task <IEnumerable <Employees> > GetMyAsync(int companyId, GetMyEmployeesFilter filter) { using (var db = new DeadlineContext()) { return(await GetMyEmployeesQuery(db, companyId, filter) .Include(employee => employee.Projects) .ToListAsync()); } }
public async Task <IHttpActionResult> GetMy(int companyId, bool assigned, int pageNumber) { var filter = new GetMyEmployeesFilter { PageNumber = pageNumber, PageSize = PageSize, Assigned = assigned }; IEnumerable <Employees> employees = await _employeesRepository.GetMyAsync(companyId, filter); int myEmployeesCount = await _employeesRepository.GetMyCountAsync(companyId, filter); var response = new GetMyEmployeesResponse(myEmployeesCount, PageSize) { EmployeesWithProject = employees.Select(employee => employee.Map <Employees, EmployeeWithProject>()) }; return(Ok(response)); }