public IViewComponentResult Invoke() { var(type, id, from_type) = GetParametres(); switch (type) { default: return(View(Enumerable.Empty <BreadCrumbViewModel>())); case BreadCrumbType.Section: return(View(new[] { new BreadCrumbViewModel { BreadCrumbType = BreadCrumbType.Section, Id = id, Name = _catalogData.GetSectionById(id).Name } })); case BreadCrumbType.Brand: return(View(new[] { new BreadCrumbViewModel { BreadCrumbType = BreadCrumbType.Brand, Id = id, Name = _catalogData.GetBrandById(id).Name } })); case BreadCrumbType.Product: var product = _catalogData.GetProductById(id); return(View(new[] { new BreadCrumbViewModel { BreadCrumbType = from_type, Id = from_type == BreadCrumbType.Section ? product.Section.Id : product.Brand.Id, Name = from_type == BreadCrumbType.Section ? product.Section.Name : product.Brand.Name }, new BreadCrumbViewModel { BreadCrumbType = BreadCrumbType.Product, Id = product.Id, Name = product.Name } })); } }
public IActionResult ProductDetails(int productId) { Product product = _catalogData.GetProductById(productId); if (product == null) { return(NotFound()); } ProductViewModel productViewModel = new ProductViewModel() { Id = product.Id, Name = product.Name, Price = product.Price, ImageUrl = product.ImageUrl, BrandName = _catalogData.GetBrandById(product.BrandId).Name ?? String.Empty }; return(View(productViewModel)); }
public BrandDTO GetBrandById(int id) { return(_catalogData.GetBrandById(id)); }