Exemple #1
0
        public static ProductTagLiquidViewModel AsLiquidAdapted(this PaginatedProducTag model)
        {
            var tag = Mapper.Map <ProductTagLiquidViewModel>(model.Tag);

            tag.Products      = model.Products.AsLiquidAdapted();
            tag.AllPagesCount = model.AllPagesCount;
            tag.CurrentPage   = model.CurrentPage;
            return(tag);
        }
Exemple #2
0
        public async Task <PaginatedProducTag> ListByTagAsync(string tagUrl, int pageNumber)
        {
            var tag = await _tagDataService.Query.FirstAsync(x => x.Url == tagUrl);

            var query = _accessManager
                        .Filter(_productDataService.Query.Where(x => x.Tags.Any(t => t.Id == tag.Id)))
                        .OrderByDescending(x => x.PublishDateTime);

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

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