public IActionResult ReferenceItem(string referenceId, [FromServices] ISneakerReferenceService service) { var reference = service.FetchUnique(referenceId); if (reference is null) { return(NotFound()); } HeroCoverPath = reference.Brand.HeroPath; HeroBreadTitle = reference.Brand.Name; HeroBreadSubTitle = reference.Brand.Description; HeroLogoPath = reference.Brand.LogoPath; ViewBag.RelatedReferences = service.GetRelated(reference, new RequestParams { Limit = 12 }); AddBreadcrumbNode(nameof(ReferenceItem), reference.ModelName); return(View(reference)); }
public async Task <IActionResult> ProductItem(string productId, [FromServices] ISneakerProductService service, [FromServices] ISneakerReferenceService references) { var product = await service.FetchUniqueAsync(productId); if (product is null) { return(NotFound()); } //ViewBag.RelatedProducts = ProductsList; //TODO search related var reference = await references.FetchUniqueAsync(product.ReferenceID); var brand = reference?.Brand ?? product.Brand; var baseModel = reference?.BaseModel ?? product.Model; HeroCoverPath = baseModel.HeroPath ?? brand.HeroPath; HeroBreadTitle = product.ModelName; HeroBreadSubTitle = brand.Name; HeroLogoPath = brand.LogoPath; AddBreadcrumbNode(nameof(ProductItem), product.ModelName); return(View(product.ToViewModel())); }