public IPagedList <IVehicleMake> GetVehicleMakePaged(ISortParameters sortParameters, IFilterParameters filterParameters, IPageParameters pageParameters) { var vehicleMakeList = context.VehicleMakes.AsEnumerable(); switch (sortParameters.Sort) { case "Name": vehicleMakeList = vehicleMakeList.OrderBy(c => c.Name); break; case "Abrv": vehicleMakeList = vehicleMakeList.OrderBy(c => c.Abrv); break; default: vehicleMakeList = vehicleMakeList.OrderBy(c => c.Id); break; } if (!string.IsNullOrEmpty(filterParameters.Search)) { vehicleMakeList = vehicleMakeList.Where(c => c.Name.ToUpper().Contains(filterParameters.Search.ToUpper())); } if (sortParameters.Direction == "Descending") { vehicleMakeList = vehicleMakeList.Reverse(); } return(vehicleMakeList.ToPagedList(pageParameters.Page, pageParameters.PageSize)); }
public async Task <IPagedList <VehicleMake> > GetVehicleMakesAsync(ISortParameters sort, IFilterParameters filter, IPageParameters pagep) { var makeList = await _repository.GetVehicleMakesAsync(sort, filter, pagep); var makeVMList = AutoMapper.Mapper.Map <IEnumerable <VehicleMake> >(makeList); return(new StaticPagedList <VehicleMake>(makeVMList, makeList.GetMetaData())); }
public SitecoreSearchParameters( ISessionConfig sessionSettings, IItemSource itemSource, IQueryParameters queryParameters, IPagingParameters pagingSettings, ISortParameters sortParameters, bool includeStandardFields, string term) { this.Term = term; this.SessionSettings = sessionSettings; this.ItemSource = itemSource; this.QueryParameters = queryParameters; this.PagingSettings = pagingSettings; this.SortParameters = sortParameters; this.IncludeStandardTemplateFields = includeStandardFields; }
public async Task <IPagedList <VehicleModelEntity> > GetVehicleModelsAsync(ISortParameters sort, IFilterParameters filter, IPageParameters pagep) { if (!string.IsNullOrEmpty(filter.Search)) { vehicleModels = repository.GetAll().Where(v => v.Name.ToUpper().StartsWith(filter.Search.ToUpper())).AsQueryable(); } else { vehicleModels = repository.GetAll().AsQueryable(); } if (filter.MakeId != null) { vehicleModels = vehicleModels.Where(v => v.VehicleMakeEntity.Id == filter.MakeId).AsQueryable(); } //ORDER BY switch (sort.SortBy?.ToUpper()) { case "NAME": vehicleModels = vehicleModels.OrderBy(s => s.Name).AsQueryable(); break; case "ID": vehicleModels = vehicleModels.OrderBy(s => s.Id).AsQueryable(); break; default: vehicleModels = vehicleModels.OrderBy(s => s.Id).AsQueryable(); break; } //ORDER BY DESCENDING if (sort.SortOrder?.ToUpper() == "DESC") { vehicleModels = vehicleModels.OrderByDescending(s => s.Name).AsQueryable(); vehicleModels = vehicleModels.OrderByDescending(s => s.Id).AsQueryable(); } ; return(vehicleModels.ToPagedList(pagep.Page, pagep.PageSize)); }
/// <summary> /// Read method, /// gets a list of VehicleModels from VehicleModel Repository, /// does sorting, filtering and pagging. /// </summary> /// <param name="sortParameters">Has 2 properties: Sort and Sort Direction.</param> /// <param name="filterParameters">Has 2 properties: Search and MakeId.</param> /// <param name="pageParameters">Has 2 properties: Page and PageSize.</param> /// <returns>Retuns a list of paged, sorted and filtered IVehicleModel.</returns> public async Task <IPagedResult <IVehicleModel> > GetVehicleModelsAsync(ISortParameters sortParameters, IFilterParameters filterParameters, IPageParameters pageParameters) { return(await repository.GetVehicleModelsAsync(sortParameters, filterParameters, pageParameters)); }
/// <summary> /// Read method, /// gets a list of VehicleMakes from Generic Repository, /// does sorting, filtering and pagging. /// </summary> /// <param name="sortParameters">Has 2 properties: Sort and Sort Direction.</param> /// <param name="filterParameters">Has 2 properties: Search and MakeId.</param> /// <param name="pageParameters">Has 2 properties: Page and PageSize.</param> /// <returns>Returns a list of paged, sorted and filtered IVehicleMake.</returns> public async Task <IPagedResult <IVehicleMake> > GetVehicleMakesAsync(ISortParameters sortParameters, IFilterParameters filterParameters, IPageParameters pageParameters) { IQueryable <VehicleMakeEntity> vehicleMakeList; PagedResult <IVehicleMake> PagedVehicleMake = new PagedResult <IVehicleMake>(); if (!string.IsNullOrEmpty(filterParameters.Search)) { vehicleMakeList = Repository.GetVehiclesAsync().Where(x => x.Abrv.ToUpper() == filterParameters.Search.ToUpper() || x.Name.ToUpper().Contains(filterParameters.Search.ToUpper())).OrderBy(x => x.Id).AsQueryable(); } else { vehicleMakeList = Repository.GetVehiclesAsync().OrderBy(x => x.Id); } if (!string.IsNullOrEmpty(sortParameters.Sort)) { if (sortParameters.Sort.ToUpper() == "NAME") { vehicleMakeList = vehicleMakeList.OrderBy(x => x.Name).AsQueryable(); } else if (sortParameters.Sort.ToUpper() == "ABRV") { vehicleMakeList = vehicleMakeList.OrderBy(x => x.Abrv).AsQueryable(); } } else { vehicleMakeList = vehicleMakeList.OrderBy(x => x.Id).AsQueryable(); } if (sortParameters.SortDirection.ToUpper() == "DESCENDING") { vehicleMakeList.Reverse(); } if (pageParameters.PageSize != 0) { int?skipAmount; if (pageParameters.Page == 0 || pageParameters.Page == null) { skipAmount = 0; } else { skipAmount = (pageParameters.PageSize * (pageParameters.Page - 1)); } var totalNumberOfRecords = vehicleMakeList.Count(); vehicleMakeList = vehicleMakeList.Skip((int)skipAmount).Take(pageParameters.PageSize).AsQueryable(); var mod = totalNumberOfRecords % pageParameters.PageSize; var totalPageCount = (totalNumberOfRecords / pageParameters.PageSize) + (mod == 0 ? 0 : 1); var Results = AutoMapper.Mapper.Map <IEnumerable <IVehicleMake> >(vehicleMakeList.ToList()); PagedVehicleMake.PageNumber = (int)pageParameters.Page; PagedVehicleMake.PageSize = pageParameters.PageSize; PagedVehicleMake.TotalNumberOfPages = totalPageCount; if (sortParameters.SortDirection != null) { if (sortParameters.SortDirection.ToUpper() == "DESCENDING") { Results = Results.Reverse(); } } PagedVehicleMake.Results = Results; } else { PagedVehicleMake.PageNumber = 0; PagedVehicleMake.PageSize = 0; PagedVehicleMake.TotalNumberOfPages = 0; PagedVehicleMake.Results = AutoMapper.Mapper.Map <IEnumerable <IVehicleMake> >(vehicleMakeList.ToList()); } return(PagedVehicleMake); }