public ActionResult Complete(Guid id) { CheckoutCompleteViewModel model = new CheckoutCompleteViewModel(); model.order = OrderService.GetOrders(QuoteKey: id).FirstOrDefault(); HttpCookie quoteCookie = ControllerContext.HttpContext.Request.Cookies["QuoteKey"]; if (quoteCookie != null) { quoteCookie.Expires = DateTime.Now.AddDays(-1); ControllerContext.HttpContext.Response.Cookies.Set(quoteCookie); } HttpCookie cartCookie = ControllerContext.HttpContext.Request.Cookies["CartKey"]; if (cartCookie != null) { cartCookie.Expires = DateTime.Now.AddDays(-1); ControllerContext.HttpContext.Response.Cookies.Set(cartCookie); } return(View(model)); }
public ActionResult AddressAndPayment(FormCollection values) { var order = new Order(); TryUpdateModel(order); try { var username = values["Username"]; var cart = ShoppingCart.GetCart(HttpContext); order.Username = username; order.OrderDate = DateTime.Now; order.Total = cart.GetTotal(); order.IpAddress = Request.UserHostAddress; order.IsWebOrder = Session["StoreType"] == null || (bool)Session["StoreType"]; var value = values["Kön"]; if (!string.IsNullOrEmpty(value)) { order.Sex = value.Equals("Man"); } //var users = db.Users.ToList(); //var orders = db.Orders.ToList(); //if (!users.Exists(x => x.Username == username) || orders.Exists(x => x.Username == username)) //{ // SetViewBag(order); // return View(order); //} db.Orders.Add(order); db.SaveChanges(); cart.CreateOrder(order); var products = db.Products.ToList(); var model = new CheckoutCompleteViewModel(); var inStoreItems = products.Where(x => x.IsInStore).ToList(); RecommendationCalculator calculator = new RecommendationCalculator(); int itemKNearest = 12; int userKNearest = 7; var itemRecommendedProduct = calculator.RecommendProductItemBased(order, new CosineSimilarity(), itemKNearest); var userRecommendedProduct = calculator.RecommendProductUserBased(order, new CosineSimilarity(), userKNearest); // If we can't find a recommended product then choose a random product instead to recommend if (itemRecommendedProduct == null) { model.ItemRecommendedProduct = null; } else { model.ItemRecommendedProduct = itemRecommendedProduct; } model.UserRecommendedProduct = userRecommendedProduct; model.Order = order; model.Products = inStoreItems; model.IsWebOrder = order.IsWebOrder; return(View("Complete", model)); } catch { SetViewBag(order); //Invalid - redisplay with errors return(View(order)); } }