public virtual PageCollection <TModel> Page <TModel>(PageQueryParameter <TEntity> parameter) where TModel : PropertyOwnerModel <TPropertyValueEntity> { var repository = _repositoryProviderProvider.Provide <IEntityQueryRepository>().Provide(); var context = CreatePageQueryContext(parameter); var entities = repository.Page(context); var models = Mapper.Map <List <TModel> >(entities.List); var valueRepository = _repositoryProviderProvider.Provide <IPropertyValueQueryRepository>().Provide(); var valueContext = new GroupPropertyValueContext <TPropertyValueEntity> { ContextProvider = _contextProvider, Keys = entities.List.Select(s => s.Id).ToList(), PropertyValueKeyProvider = _propertyValueKeyProviderSelector.Select(), UserId = UserContext.Current.UserId }; var values = valueRepository.Grouping(valueContext); models.ForEach(model => { var vs = values.FirstOrDefault(x => x.Key == model.Id); if (vs == null) { return; } model.Properties = vs?.ToList(); }); return(new PageCollection <TModel> { PageSize = entities.PageSize, Count = entities.Count, List = models, Page = entities.Page }); }
/// <summary> /// 创建 TeamQueryParameter 类的新实例。 /// </summary> public TeamQueryParameter() { Name = string.Empty; QueryByName = false; Leader = string.Empty; QueryByLeader = false; PageQuery = new PageQueryParameter(); EnablePageQuery = false; }
protected QueryEntityPageContext <TEntity> CreatePageQueryContext(PageQueryParameter <TEntity> parameter) { return(new QueryEntityPageContext <TEntity> { ContextProvider = _contextProvider, PageQueryParas = parameter, UserId = UserContext.Current.UserId, Predicate = parameter.CreatePredicate() }); }
/// <summary> /// 创建 ProblemArchieveQueryParameter 类的新实例。 /// </summary> public ProblemArchieveQueryParameter() { Title = string.Empty; Source = string.Empty; Author = string.Empty; Origin = OJSystem.BIT; ContestId = -1; PageQuery = new PageQueryParameter(); QueryByTitle = false; QueryBySource = false; QueryByAuthor = false; QueryByOrigin = false; QueryByContestId = true; EnablePageQuery = false; }
public PageCollection <AccountEntity> Page(Expression <Func <AccountEntity, bool> > predicate, PageQueryParameter <AccountEntity> paras) { throw new NotImplementedException(); }
public PageCollection <CustomerModel> Page(PageQueryParameter <CustomerEntity> parameter) { var service = _genericServiceProvider.Provide <IEntityQueryService <CustomerEntity, CustomerPropertyValueEntity> >(); return(service.Page <CustomerModel>(parameter)); }