Beispiel #1
0
 public async Task <int> GetUnemployedCountAsync(GetUnemployedFilter filter)
 {
     using (var db = new DeadlineContext())
     {
         return(await GetUnemployedQuery(db, filter).CountAsync());
     }
 }
Beispiel #2
0
 private static IQueryable <Employees> GetUnemployedQuery(DeadlineContext db, GetUnemployedFilter filter)
 {
     return(db.Employees.Where(employee =>
                               employee.CompanyId == null &&
                               filter.ExperienceIds.Contains(employee.ExperienceId) &&
                               filter.TypesIds.Contains(employee.TypeId)));
 }
Beispiel #3
0
 public async Task <IEnumerable <Employees> > GetUnemployedAsync(GetUnemployedFilter filter)
 {
     using (var db = new DeadlineContext())
     {
         return(await GetUnemployedQuery(db, filter)
                .OrderBy(employee => employee.Id)
                .Skip(filter.PageSize * (filter.PageNumber - 1))
                .Take(filter.PageSize)
                .ToListAsync());
     }
 }
Beispiel #4
0
        public async Task <IHttpActionResult> GetUnemployed(
            [FromUri] int[] typesIds,
            [FromUri] int[] experienceIds,
            int pageNumber)
        {
            var filter = new GetUnemployedFilter
            {
                ExperienceIds = experienceIds,
                TypesIds      = typesIds,
                PageNumber    = pageNumber,
                PageSize      = PageSize
            };

            IEnumerable <Employees> employees = await _employeesRepository.GetUnemployedAsync(filter);

            int employeesMatchingToFilter = await _employeesRepository.GetUnemployedCountAsync(filter);

            var response = new GetUnemployedResponse(employeesMatchingToFilter, PageSize)
            {
                Employees = employees.Select(e => e.Map <Employees, Employee>())
            };

            return(Ok(response));
        }