public ActionResult ViewCart(int?id) { string sessionID = System.Web.HttpContext.Current.Session.SessionID; if (id != null) { // remove product visit ProductVisitRepo productVisitRepo = new ProductVisitRepo(); productVisitRepo.RemoveProductVisit(sessionID, (int)id); } ShoppingCartRepo cartRepo = new ShoppingCartRepo(); // get all product visit entries IEnumerable <ProductVisit> productVisits = cartRepo.GetCartItems(sessionID); // if have product visit can create a cart item out of it via the naviagtion properties List <ProductVM> products = new List <ProductVM>(); foreach (ProductVisit item in productVisits) { ProductVM product = new ProductVM(item.Product, (int)item.qtyOrdered); product.SetTotalCost(); product.image = item.Product.Image.imageTitle; products.Add(product); } ShoppingCartVM cart = new ShoppingCartVM(products); if (products.Count() > 0) { return(View(cart)); } else { ViewBag.Message = "No cart items selected"; return(View(cart)); } }