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); }
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); }