public async Task <ResponseMessageResult <PagedList <VacancyGeneralInfoViewModel> > > GetAllVacanciesSortedAsync( int page, int pageSize, string order, VacancySortField field, string filter) { var response = new ResponseMessageResult <PagedList <VacancyGeneralInfoViewModel> >(); var vacancies = await _vacancyRepository.GetAllVacanciesSortedAsync(order, field, filter); response.Content = _mapper.Map <List <VacancyGeneralInfoViewModel> >(vacancies).ToPagedList(page, pageSize); return(response); }
public async Task<IEnumerable<Vacancy>> GetAllVacanciesSortedAsync(string order, VacancySortField field, string filter) { var query = Entities .IncludeOptimized(e => e.Department) .IncludeOptimized(e => e.Project) .IncludeOptimized(e => e.ResponsibleUser); var vacancies = new List<Vacancy>(); if (!String.IsNullOrEmpty(filter))dfbgf { query = query.Where(e => e.Name.Contains(filter) || e.Department.Name.StartsWith(filter) || e.Project.Name.StartsWith(filter) || e.ResponsibleUser.LastName.StartsWith(filter)); } if (field != VacancySortField.NoSort) { if (order == "asc") query = query.OrderByDynamic(e => $"e.{Enum.GetName(typeof(VacancySortField), field)}"); else query = query.OrderByDescendingDynamic(e => $"e.{Enum.GetName(typeof(VacancySortField), field)}"); } vacancies = await Task.Run(() => query.ToList()); return vacancies; }
public async Task <ActionResult <ResponseMessageResult <PagedList <VacancyGeneralInfoViewModel> > > > GetAllSorted (int pageIndex = -1, int pageSize = 15, string order = "", VacancySortField field = 0, string filter = "") { return(await _vancancyService.GetAllVacanciesSortedAsync(pageIndex, pageSize, order, field, filter)); }