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);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
 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));
 }