Ejemplo n.º 1
0
 public Task <List <Page> > GetByTagAsync(string tagUrl)
 {
     return(_accessManager.Filter(_pages.Include(x => x.Tags)
                                  .Include(x => x.Creator)
                                  .Include(x => x.Comments)
                                  .Include(x => x.Tags)
                                  .Where(x => x.Tags.Any(t => t.Url == tagUrl))
                                  ).ToListAsync());
 }
        public async Task <PaginatedEntities> GetByTagAsync(Tag tag, int pageNumber)
        {
            var query = _accessManager.Filter(_query
                                              .Include(x => x.PrimaryCategory)
                                              .Include(x => x.Fields)
                                              .Include(x => x.RelatedCategories)
                                              .Include(x => x.Creator)
                                              .Include(x => x.Tags)
                                              .Include(x => x.Fields.Select(f => f.FieldDefenition))
                                              .Where(x => x.Tags.Any(t => t.Id == tag.Id)))
                        .OrderByDescending(x => x.PublishDateTime);

            return(new PaginatedEntities
            {
                AllPagesCount = query.GetAllPagesCount(FrontEndDeveloperOptions.Instance.Pagination.Default),
                CurrentPage = pageNumber,
                Entities = await query
                           .Paginate(_pageSize, pageNumber)
                           .ToListAsync()
            });
        }
Ejemplo n.º 3
0
        public async Task <PaginatedProductCategory> ListByCategoryAsync(string productCategoryUrl, int pageNumber)
        {
            var category = await _productCategoryDataService.Query.FirstAsync(x => x.Url == productCategoryUrl);

            var query = _accessManager
                        .Filter(_productDataService.Query.Where(x => x.PrimaryCategoryId == category.Id))
                        .OrderByDescending(x => x.PublishDateTime);

            var retValue = new PaginatedProductCategory
            {
                AllPagesCount   = query.GetAllPagesCount(FrontEndDeveloperOptions.Instance.Pagination.Default),
                CurrentPage     = pageNumber,
                ProductCategory = category,
                Products        = await query
                                  .Paginate(_pageSize, pageNumber)
                                  .ToListAsync()
            };

            retValue.Products.ForEach(
                FetchAvalailbleDiscounts);
            return(retValue);
        }