// GET: Managers/Products/Details/5 public async Task <ActionResult> Details(Guid?id) { ProductViewModel ProductDetail = new ProductViewModel(); Dictionary <int, Dictionary <Month, double> > TurnoverReport; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Product product = await db.Products.FindAsync(id); if (product == null) { return(HttpNotFound()); } else { ProductDetail.InStoreRecords = ProductLogic.RetrieveProductInStoreRecordsForProduct(id.Value); ProductDetail.ToBeAuctionedRecords = ToBeAuctionedRepo.GetAll(x => x.Batch.ProductId == id.Value); ProductDetail.AuctionRecords = Auctionrepo.GetAll(x => x.Batch.ProductId == id.Value); ProductDetail.Product = product; ProductDetail.Sales = SalesLogic.GetSalesForProduct(id.Value, out TurnoverReport); } return(View(ProductDetail)); }