Esempio n. 1
0
        public async Task <ServicesListViewModel> GetListAsync(ServicesSearchModel searchModel)
        {
            var pageInfo = new PageInfoViewModel();

            pageInfo.PageNumber = searchModel.Page;
            pageInfo.PageSize   = searchModel.ItemsPerPage;

            var getServices = context.Services.Where(x => x.IsApproved == searchModel.IsApproved);

            if (!String.IsNullOrWhiteSpace(searchModel.Search))
            {
                getServices = getServices.Where(x => x.Name.Contains(searchModel.Search));
            }
            if (searchModel.CategoryId != null)
            {
                getServices = getServices.Where(x => x.CategoryId == searchModel.CategoryId);
            }
            if (searchModel.SortAscending == true)
            {
                getServices = getServices.OrderBy(x => x.Name);
            }
            else
            {
                getServices = getServices.OrderByDescending(x => x.Name);
            }

            pageInfo.TotalItems = await getServices.CountAsync();

            var dataModel = await getServices
                            .Skip(pageInfo.SkipItems)
                            .Take(pageInfo.PageSize)
                            .Include(x => x.Category)
                            .ToListAsync();

            var viewModel = new ServicesListViewModel();

            viewModel.Services = _mapper.Map <List <ServiceViewModel> >(dataModel);
            viewModel.PageInfo = pageInfo;
            return(viewModel);
        }
Esempio n. 2
0
 public async Task <ActionResult> NotApprovedServiceTable(ServicesSearchModel searchModel)
 {
     searchModel.IsApproved = false;
     return(PartialView("ServiceTable", await _serviceManager.GetListAsync(searchModel)));
 }