public ActionResult Details(int id) { var product = _productsRepository.GetProduct(id); if (product == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } IEnumerable <Promotion> promotions = null; CustomerRec customer = null; var relatedProducts = _productsRepository.GetRelatedProducts(product.Id); var clickEvent = new ClickEvent { ClickTime = DateTime.Now, ProductId = product.Id }; _telemetryRepository.SendClick(clickEvent); if (User.Identity.IsAuthenticated) { customer = _customerRepository.GetCustomerByName(User.Identity.Name); promotions = _promotionsRepository.GetPromotions(customer.CustomerId); } var relatedCatalogItems = relatedProducts .OrderBy(p => p.Name) .Select(relatedProduct => ProductToCatalogItem(promotions, customer, relatedProduct)) .ToList(); return(View(new CatalogItemDetailsModel(ProductToCatalogItem(promotions, customer, product), relatedCatalogItems))); }
public ActionResult Details(Int64 id) { var product = _productsRepository.GetProduct(id); if (product == null) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound)); } var relatedCatalogItems = new List <CatalogItem>(); IEnumerable <Product> relatedProducts = new List <Product>(); IEnumerable <Promotion> promotions = null; Customer customer = null; relatedProducts = _productsRepository.GetRelatedProducts(product.Id); var clickEvent = new ClickEvent { clickTime = DateTime.Now, productId = product.Id }; _telemetryRepository.SendClick(clickEvent); if (User.Identity.IsAuthenticated) { customer = _customerRepository.GetCustomerByName(User.Identity.Name); promotions = _promotionsRepository.GetPromotions(customer.Id); } foreach (var relatedProduct in relatedProducts.OrderBy(p => p.Name)) { relatedCatalogItems.Add(ProductToCatalogItem(promotions, customer, relatedProduct)); } return(View(new CatalogItemDetailsModel(ProductToCatalogItem(promotions, customer, product), relatedCatalogItems))); }