/// <summary>
        /// Gets paged list of all VehicleModels.
        /// </summary>
        /// <param name="makeId"></param>
        /// <param name="filter"></param>
        /// <param name="paging"></param>
        /// <param name="sorting"></param>
        /// <returns> Paged list of all VehicleModels. </returns>
        public IPagedList<IVehicleModel> GetModels(Guid makeId, IFiltering filter, IPaging paging, ISorting sorting)
        {
            // Gets the search input.
            var searchString = filter.SearchString;
            
            // Gets the number and size of a page.
            int pageNumber = paging.PageNumber;
            int pageSize = paging.PageSize;
            
            // Gets the specific models of the make, conditioned by search string.
            var vehicleModels = genericRepository.GetSet<VehicleModel>().Where(m => m.MakeId == makeId);

            if (!String.IsNullOrEmpty(searchString))
            {
                vehicleModels = vehicleModels.Where(m => m.Name == searchString
                                        || m.Abrev == searchString);
            }

            // Sorts the filtered list of models.
            var sortedModel = vehicleModels.OrderBy(sorting.Sorters.FirstOrDefault().GetSortExpression());

            // Gets the paged list by parameters and maps it to corresponding type.
            var pagedList = genericRepository.GetPagedList(sortedModel, pageSize, pageNumber);

            IEnumerable<VehicleModelPoco> sourceList = Mapper.Map<IEnumerable<VehicleModel>, IEnumerable<VehicleModelPoco>>(pagedList);

            return new StaticPagedList<VehicleModelPoco>(sourceList, pagedList.GetMetaData());
        }
Exemplo n.º 2
0
 public ResponseGetSplitHouseCatalog(IPaging paging) : this()
 {
     if (paging != null)
     {
         Paging = paging;
     }
 }
 public ResponseGetWindowPlastics(IPaging paging) : this()
 {
     if (paging != null)
     {
         Paging = paging;
     }
 }
Exemplo n.º 4
0
        public async Task <IEnumerable <Project> > GetAllAsync(Guid userId, IPaging paging, IFiltering filtering /*, ISorting sortObj*/)
        {
            bool pagingEnabled         = paging.PageSize > 0;
            IQueryable <Project> query = context.Project.Include(up => up.UserProject).ThenInclude(u => u.User);

            if (pagingEnabled)
            {
                paging.TotalPages = (int)Math.Ceiling((decimal)query.Count() / (decimal)paging.PageSize);
            }
            else
            {
                paging.TotalPages = 1;
            }

            if (filtering.FilterValue != null)
            {
                query = query.Where(p => p.Name == filtering.FilterValue);
            }

            if (pagingEnabled)
            {
                return(await query.Skip((paging.PageNumber - 1) *paging.PageSize).Take(paging.PageSize).ToListAsync());
            }
            else
            {
                return(await query.AsNoTracking().ToListAsync());
            }
        }
        public virtual ICustomQueryable <TEntity> GetAllWithPaging(
            IPaging paging, Expression <Func <TEntity, bool> > predicate = null, Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null, StatusSelector statusSelector = StatusSelector.OnlyActives
            )
        {
            IQueryable <TEntity> query = DbSet;

            query = query.Where(predicate != null ? PredicateBuild(predicate, statusSelector) : PredicateBuild(statusSelector));

            var rowCount = query.Count();

            if (_includes != null)
            {
                query = _includes(query);
            }

            if (orderBy != null)
            {
                query = orderBy(query);
            }

            query = query.Skip((paging.PageIndex - 1) * paging.PageSize).Take(paging.PageSize);

            var pageCount = (rowCount + paging.PageSize - 1) / paging.PageSize;

            return(new CustomQueryable <TEntity>
            {
                Result = query,
                TotalCount = rowCount,
                PageIndex = paging.PageIndex,
                PageSize = paging.PageSize,
                PageCount = pageCount
            });
        }
 public ResponseGetAllWorkSamples(IPaging paging)
 {
     if (paging != null)
     {
         Paging = paging;
     }
 }
 public ResponseGetWorkpriceCatalog(IPaging paging) : this()
 {
     if (paging != null)
     {
         Paging = paging;
     }
 }
Exemplo n.º 8
0
 public PagingArgument(IPaging paging)
     : base()
 {
     this.ValidateCount(paging?.Count);
     this.Index = paging?.Index;
     this.Count = paging?.Count;
 }
Exemplo n.º 9
0
 public ParametersFactory(IFiltering filtering, IOptions options, IPaging paging, ISorting sorting)
 {
     _filtering = filtering;
     _paging    = paging;
     _options   = options;
     _sorting   = sorting;
 }
Exemplo n.º 10
0
        /// <summary>
        /// 分页
        /// </summary>
        /// <typeparam name="TDto">查询对象</typeparam>
        /// <param name="paging">分页对象</param>
        /// <param name="specification">查询对象</param>
        /// <param name="pagingBefore">分页前</param>
        /// <param name="pagingAfter">分页后</param>
        /// <returns></returns>
        public virtual IPagingResult <TDto> Paging <TDto>(IPaging paging,
                                                          ISpecification <TDto> specification,
                                                          Func <IQueryable <TDto>, IQueryable <TDto> > pagingBefore = null,
                                                          Func <IQueryable <TDto>, IQueryable <TDto> > pagingAfter  = null)
        {
            var query = this._storage.AsQueryable <TDto>();

            if (specification != null && specification.Expression != null)
            {
                query = query.Where(specification.Expression);
            }

            paging.TotalNumber = query.Count();

            if (pagingBefore != null)
            {
                query = pagingBefore(query);
            }

            query = query.Skip((paging.PageIndex - 1) * paging.PageSize)
                    .Take(paging.PageSize);
            if (pagingAfter != null)
            {
                query = pagingAfter(query);
            }
            return(PagingResult.Build(paging, query.ToList()));
        }
Exemplo n.º 11
0
        /// <summary>
        /// query data paging
        /// </summary>
        /// <param name="query">query model</param>
        /// <returns>object paging</returns>
        public async Task <IPaging <ET> > GetPagingAsync(IQuery query)
        {
            IPaging <ET> paging = Paging <ET> .EmptyPaging();

            paging = WarehouseManager.MergePaging(paging, query);
            return(await Task.FromResult(paging));
        }
Exemplo n.º 12
0
 public ResponseGetLogos(IPaging paging)
 {
     if (paging != null)
     {
         Paging = paging;
     }
 }
Exemplo n.º 13
0
        public async Task <IEnumerable <IProjectModel> > GetAllAsync(Guid userId, IPaging paging, IFiltering filtering)
        {
            var projects = await projectRepository.GetAllAsync(userId, paging, filtering);

            var mapList = mapper.Map <IEnumerable <IProjectModel> >(projects);

            return(mapList);
        }
Exemplo n.º 14
0
 public static IQueryable <TSource> SkipTakePaging <TSource>(
     this IQueryable <TSource> sources,
     IPaging filterOptions)
 {
     return(sources
            .Skip(filterOptions.PerPage * (filterOptions.Page - 1))
            .Take(filterOptions.PerPage));
 }
Exemplo n.º 15
0
 public PagingFactory(IQueryBuilder innerQuery, IPaging pagingDetails)
 {
     InnerQuery  = innerQuery;
     CurrentPage = pagingDetails.CurrentPage;
     RowsPerPage = pagingDetails.RowsPerPage;
     OrderBy     = pagingDetails.OrderBy;
     SortDesc    = pagingDetails.SortDesc;
     AddRowNumber(OrderBy, SortDesc);
 }
Exemplo n.º 16
0
        public static Int32 ToCount(this IPaging value)
        {
            if (value != null && value.Count.HasValue)
            {
                return(value.Count.Value);
            }

            return(0);
        }
Exemplo n.º 17
0
        public static Int32 ToIndex(this IPaging value)
        {
            if (value != null && value.Index.HasValue)
            {
                return(value.Index.Value);
            }

            return(0);
        }
Exemplo n.º 18
0
        public IEnumerable <PackageEM> GetList(bool onlyOpened, bool onlySpecial, IPaging paging, out int totalCount)
        {
            var param = ParametersHelper.CreateFromObject(paging, new { onlyOpened, onlySpecial }).IncludeOutputTotal();

            var packages = ExecuteSP <PackageEM, SerialEM, ColorEM, NominalEM, PackageEM>("USP_Package_GetList", PackageEM.MapPackage, SPLIT_ON, param);

            totalCount = param.GetOutputTotal();
            return(packages);
        }
Exemplo n.º 19
0
        public async Task <IEnumerable <TEntity> > Get(
            IPaging pagingObj,
            Expression <Func <TEntity, bool> > filter, ISorting sortObj,
            Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy           = null,
            Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderByDescending = null,
            string includeProperties = "")
        {
            IQueryable <TEntity> query = dbSet;

            bool pagingEnabled = false;

            if (pagingObj != null)
            {
                pagingEnabled = pagingObj.PageSize > 0;
            }

            if (filter != null)
            {
                query = query.Where(filter);
            }
            if (pagingEnabled)
            {
                pagingObj.TotalPages = (int)Math.Ceiling((decimal)query.Count() / (decimal)pagingObj.PageSize);
            }
            else
            {
                pagingObj.TotalPages = 1;
            }

            foreach (var includeProperty in includeProperties.Split
                         (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            {
                query = query.Include(includeProperty);
            }

            if (sortObj != null)
            {
                switch (sortObj.SortOrder)
                {
                case "name_desc":
                    query = orderByDescending(query);
                    break;

                default:
                    query = orderBy(query);
                    break;
                }
            }
            if (pagingEnabled)
            {
                return(await query.Skip(pagingObj.PageSize *(pagingObj.PageNumber - 1)).Take(pagingObj.PageSize).ToListAsync());
            }
            else
            {
                return(await query.ToListAsync());
            }
        }
Exemplo n.º 20
0
        public IEnumerable <TicketEM> GetHappyTickets(IPaging paging, out int totalCount)
        {
            var param   = ParametersHelper.CreateFromObject(paging).IncludeOutputTotal();
            var tickets = ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_GetListHappy",
                                                                                                  TicketEM.MapTicket, SPLIT_ON, param);

            totalCount = param.GetOutputTotal();
            return(tickets);
        }
Exemplo n.º 21
0
 public static PagedResponse <TProjection> Paged <TEntity, TProjection>(this IQueryable <TEntity> query,
                                                                        IPaging paging, IQueryableOrder <TProjection> queryableOrder, IQueryableFilter <TEntity> entitySpec = null,
                                                                        IQueryableFilter <TProjection> projectionSpec = null, IConfigurationProvider configurationProvider = null)
     where TEntity : class, IHasId where TProjection : class
 => query
 .EitherOrSelf(entitySpec, x => x.Where(entitySpec))
 .EitherProjectTo <TEntity, TProjection>(configurationProvider)
 .EitherOrSelf(projectionSpec, x => x.Where(projectionSpec))
 .OrderBy(queryableOrder)
 .ToPagedResponse(paging);
Exemplo n.º 22
0
        public void ToQueryParams_WithoutOrderBy_NotContainsOrderKeys(IPaging paging)
        {
            var result = paging.ToQueryParams();

            result.Should().HaveCount(2);
            result.Should().ContainKey(nameof(paging.Page));
            result.Should().ContainKey(nameof(paging.Take));
            result[nameof(paging.Page)].Should().Be(paging.Page);
            result[nameof(paging.Take)].Should().Be(paging.Take);
        }
Exemplo n.º 23
0
 /// <summary>Получение страницы записей.</summary>
 /// <param name="pagу">Паджинация запроса.</param>
 /// <returns>Коллекция моделей.</returns>
 public IEnumerable <TModel> Get(IPaging page)
 {
     return(page == default
                         ? GetSet <TModel>()
            .AsEnumerable()
                         : GetSet <TModel>()
            .Skip(page.PageSize * page.Page)
            .Take(page.PageSize)
            .AsEnumerable());
 }
Exemplo n.º 24
0
        public ActionResult SearchAuthority(AuthorityFilterDto filter)
        {
            IPaging <AuthorityViewModel> authorityPager = authService.GetAuthorityPaging(filter).ConvertTo <AuthorityViewModel>();
            object objResult = new
            {
                authorityPager.TotalCount,
                Datas = authorityPager.ToList()
            };

            return(Json(objResult));
        }
Exemplo n.º 25
0
 public static IPagedEnumerable <TDest> Paged <TEntity, TDest>(this IQueryable <TEntity> query,
                                                               IPaging spec, Expression <Func <TEntity, TDest> > projectionExpression)
     where TEntity : class, IHasId
     where TDest : class, IHasId
 => query
 .MaybeWhere(spec)
 .Select(projectionExpression)
 .MaybeWhere(spec)
 .MaybeOrderBy(spec)
 .OrderByIdIfNotOrdered()
 .ToPagedEnumerable(spec);
Exemplo n.º 26
0
        public ActionResult SearchPermission(PermissionFilterDto filter)
        {
            IPaging <PermissionViewModel> permissionPager = permissionAppService.GetPermissionPaging(filter).ConvertTo <PermissionViewModel>();
            object objResult = new
            {
                permissionPager.TotalCount,
                Datas = permissionPager.ToList()
            };

            return(Json(objResult));
        }
Exemplo n.º 27
0
        public ActionResult SearchAdminUser(AdminUserFilterViewModel filter)
        {
            filter.UserType = UserType.管理账户;
            IPaging <UserViewModel> userPager = userService.GetUserPaging(filter.MapTo <AdminUserFilterDto>()).ConvertTo <UserViewModel>();
            object objResult = new
            {
                userPager.TotalCount,
                Datas = userPager.ToList()
            };

            return(Json(objResult));
        }
Exemplo n.º 28
0
        public static IQueryable <T> TakePage <T>(this IQueryable <T> queryable, IPaging <T> paging)
            where T : class
        {
            if (!paging.OrderBy.Any())
            {
                throw new ArgumentException("OrderBy can't be null or empty", nameof(paging));
            }

            return(queryable.OrderBy(paging.OrderBy)
                   .Skip((paging.PageNo - 1) * paging.PageSize)
                   .Take(paging.PageSize));
        }
Exemplo n.º 29
0
        public IEnumerable <T> PagedList <T>(string sql, IPaging page, object param = null)
        {
            IEnumerable <T> result;

            using (var db = DbConnection)
            {
                string pagedSql = string.Format(_pagedSql, page.OrderBy, page.Asc ? "Asc" : "Desc", page.PageSize, page.PageNumber);
                string lastSql  = string.Format("WITH _temp_prix_pagetable AS ({0}) SELECT * FROM _temp_prix_pagetable t {1} ", sql, pagedSql);
                result = db.Query <T>(lastSql, param);
            }
            return(result);
        }
Exemplo n.º 30
0
        public void ToQueryParams_WithOrderBy_MustContainsOrderKeys(IPaging paging)
        {
            var          result = paging.ToQueryParams();
            const string column = nameof(paging.OrderBy) + "." + nameof(paging.OrderBy.Column);
            const string order  = nameof(paging.OrderBy) + "." + nameof(paging.OrderBy.Order);

            result.Should().HaveCount(4);
            result.Should().ContainKey(column);
            result.Should().ContainKey(order);
            result[column].Should().Be(paging.OrderBy.Column);
            result[order].Should().Be(paging.OrderBy.Order);
        }
Exemplo n.º 31
0
        public ActionResult SearchUser(RoleUserFilterDto filter)
        {
            filter.UserType = UserType.Management;
            IPaging <UserViewModel> userPager = userAppService.GetUserPaging(filter).ConvertTo <UserViewModel>();
            object dataResult = new
            {
                userPager.TotalCount,
                Datas = userPager.ToList()
            };

            return(Json(dataResult));
        }
Exemplo n.º 32
0
 /// <summary>
 /// Gets paged list of all VehicleMakes.
 /// </summary>
 /// <param name="filter"></param>
 /// <param name="paging"></param>
 /// <param name="sorting"></param>
 /// <returns> A paged list of makes. </returns>
 public IPagedList<IVehicleMake> GetMakes(IFiltering filter, IPaging paging, ISorting sorting)
 {
     return vehicleMakeRepository.GetMakes(filter, paging, sorting);
 }
Exemplo n.º 33
0
 /// <summary>
 /// Gets paged list of all VehicleModels.
 /// </summary>
 /// <param name="makeId"></param>
 /// <param name="filter"></param>
 /// <param name="paging"></param>
 /// <param name="sorting"></param>
 /// <returns> Paged list of all VehicleModels. </returns>
 public IPagedList<IVehicleModel> GetModels(Guid makeId, IFiltering filter, IPaging paging, ISorting sorting)
 {
     return vehicleModelRepository.GetModels(makeId, filter, paging, sorting);
 }