示例#1
0
 public async Task <int> GetMyCountAsync(int companyId, GetMyEmployeesFilter filter)
 {
     using (var db = new DeadlineContext())
     {
         return(await GetMyEmployeesQuery(db, companyId, filter).CountAsync());
     }
 }
示例#2
0
 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));
 }
示例#3
0
 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());
     }
 }
示例#4
0
        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));
        }