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));
        }
Example #2
0
        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()));
        }