/// <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()); }
public ResponseGetSplitHouseCatalog(IPaging paging) : this() { if (paging != null) { Paging = paging; } }
public ResponseGetWindowPlastics(IPaging paging) : this() { if (paging != null) { Paging = paging; } }
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; } }
public PagingArgument(IPaging paging) : base() { this.ValidateCount(paging?.Count); this.Index = paging?.Index; this.Count = paging?.Count; }
public ParametersFactory(IFiltering filtering, IOptions options, IPaging paging, ISorting sorting) { _filtering = filtering; _paging = paging; _options = options; _sorting = sorting; }
/// <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())); }
/// <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)); }
public ResponseGetLogos(IPaging paging) { if (paging != null) { Paging = paging; } }
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); }
public static IQueryable <TSource> SkipTakePaging <TSource>( this IQueryable <TSource> sources, IPaging filterOptions) { return(sources .Skip(filterOptions.PerPage * (filterOptions.Page - 1)) .Take(filterOptions.PerPage)); }
public PagingFactory(IQueryBuilder innerQuery, IPaging pagingDetails) { InnerQuery = innerQuery; CurrentPage = pagingDetails.CurrentPage; RowsPerPage = pagingDetails.RowsPerPage; OrderBy = pagingDetails.OrderBy; SortDesc = pagingDetails.SortDesc; AddRowNumber(OrderBy, SortDesc); }
public static Int32 ToCount(this IPaging value) { if (value != null && value.Count.HasValue) { return(value.Count.Value); } return(0); }
public static Int32 ToIndex(this IPaging value) { if (value != null && value.Index.HasValue) { return(value.Index.Value); } return(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); }
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()); } }
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); }
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);
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); }
/// <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()); }
public ActionResult SearchAuthority(AuthorityFilterDto filter) { IPaging <AuthorityViewModel> authorityPager = authService.GetAuthorityPaging(filter).ConvertTo <AuthorityViewModel>(); object objResult = new { authorityPager.TotalCount, Datas = authorityPager.ToList() }; return(Json(objResult)); }
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);
public ActionResult SearchPermission(PermissionFilterDto filter) { IPaging <PermissionViewModel> permissionPager = permissionAppService.GetPermissionPaging(filter).ConvertTo <PermissionViewModel>(); object objResult = new { permissionPager.TotalCount, Datas = permissionPager.ToList() }; return(Json(objResult)); }
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)); }
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)); }
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); }
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); }
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)); }
/// <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); }
/// <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); }