Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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()));
        }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
 /// <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));
 }
Ejemplo n.º 6
0
        /// <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);
        }