public virtual ActionResult ShoeDetails(ShoeDetailsViewModel viewModel, FormCollection collection) { try { if (collection["submit"].ToString() == "+ ADD TO BAG") { #region Add to Cart var salesOrder = new trnsalesorder(); using (var context = new TTTEntities()) { var query = from customizeModelImage in context.lnkcustomizemodelimages join customizeModel in context.refcustomizemodels on customizeModelImage.CustomizeModelID equals customizeModel.ID select new { CustomizeModel = customizeModel, CustomizeModelImage = customizeModelImage }; var customizeModelDetails = query.Where(a => a.CustomizeModelImage.SKU == viewModel.ModelImage.SKU).Single(); var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email; if (!string.IsNullOrEmpty(customerEmail)) // login customer { var openStatusID = Util.GetStatusID(Status.Open.ToString()); salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault(); using (var trans = new TransactionScope()) { if (salesOrder == null) { salesOrder = context.trnsalesorders.Add(new trnsalesorder() { StatusID = openStatusID, Email = customerEmail, SubTotal = customizeModelDetails.CustomizeModel.Price, GrandTotal = customizeModelDetails.CustomizeModel.Price, CreateDT = DateTime.Now }); context.SaveChanges(); AddSalesOrderItem(salesOrder.ID, viewModel.ModelImage.SKU, viewModel.Size, viewModel.CustomizeModel.Price, context); } else { var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID && a.Size == viewModel.Size && a.SKU == viewModel.ModelImage.SKU).SingleOrDefault(); if (soItem == null) { salesOrder.GrandTotal += customizeModelDetails.CustomizeModel.Price; salesOrder.UpdateDT = DateTime.Now; AddSalesOrderItem(salesOrder.ID, viewModel.ModelImage.SKU, viewModel.Size, viewModel.CustomizeModel.Price, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } } context.SaveChanges(); trans.Complete(); } } else // Anonymous user { ConstructShoppingBagCookie(); var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null && a.Size == viewModel.Size && a.SKU == viewModel.ModelImage.SKU && a.CookieID == cookieID).SingleOrDefault(); if (soItem == null) { AddSalesOrderItem(null, viewModel.ModelImage.SKU, viewModel.Size, viewModel.CustomizeModel.Price, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } context.SaveChanges(); } } #endregion } else if (collection["submit"].ToString() == "+ ADD TO WISH LIST") { #region Add to Wishlist if (!Request.IsAuthenticated) { return RedirectToAction(MVC.SignIn.Index(Url.Action("ShoeDetails", new { sku = viewModel.ModelImage.SKU }))); } AddToWishList(viewModel); #endregion } } catch (Exception ex) { throw; } return RedirectToAction("ShoeDetails", new { sku = viewModel.ModelImage.SKU }); }
public virtual ActionResult AddToCartNormal(int modelSizeID, string sku) { try { ConstructShoppingBagCookie(); #region Add to Cart var salesOrder = new trnsalesorder(); using (var context = new TTTEntities()) { var query = from modelSize in context.lnkmodelsizes join model in context.refmodels on modelSize.ModelID equals model.ID select new { ModelSizeID = modelSize.ID, Model = model }; var modelDetails = query.Where(a => a.ModelSizeID == modelSizeID).Single(); var modelPrice = (modelDetails.Model.DiscountPrice.HasValue && modelDetails.Model.DiscountPrice.Value > 0) ? modelDetails.Model.DiscountPrice.Value : modelDetails.Model.Price; var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email; ; if (!string.IsNullOrEmpty(customerEmail)) // login customer { var openStatusID = Util.GetStatusID(Status.Open.ToString()); salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault(); using (var trans = new TransactionScope()) { if (salesOrder == null) { salesOrder = context.trnsalesorders.Add(new trnsalesorder() { StatusID = openStatusID, Email = customerEmail, SubTotal = modelPrice, GrandTotal = modelPrice, CreateDT = DateTime.Now }); context.SaveChanges(); AddNormalSalesOrderItem(salesOrder.ID, modelSizeID, sku, modelPrice, context); } else { // update sales order grand total salesOrder.GrandTotal += modelPrice; var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID && a.ModelSizeID == modelSizeID).FirstOrDefault(); if (soItem == null) { salesOrder.UpdateDT = DateTime.Now; AddNormalSalesOrderItem(salesOrder.ID, modelSizeID, sku, modelPrice, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } } context.SaveChanges(); trans.Complete(); } } else { ConstructShoppingBagCookie(); var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null && a.ModelSizeID == modelSizeID && a.CookieID == cookieID).FirstOrDefault(); if (soItem == null) { AddNormalSalesOrderItem(null, modelSizeID, sku, modelPrice, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } context.SaveChanges(); } } #endregion } catch (Exception ex) { throw; } return RedirectToAction("Index"); }
public virtual ActionResult AddToCartCustomize(string size, string sku) { try { #region Add to Cart var salesOrder = new trnsalesorder(); using (var context = new TTTEntities()) { var query = from customizeModelImage in context.lnkcustomizemodelimages join customizeModel in context.refcustomizemodels on customizeModelImage.CustomizeModelID equals customizeModel.ID select new { CustomizeModel = customizeModel, CustomizeModelImage = customizeModelImage }; var customizeModelDetails = query.Where(a => a.CustomizeModelImage.SKU == sku).Single(); var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email; if (!string.IsNullOrEmpty(customerEmail)) // login customer { var openStatusID = Util.GetStatusID(Status.Open.ToString()); salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault(); using (var trans = new TransactionScope()) { if (salesOrder == null) { salesOrder = context.trnsalesorders.Add(new trnsalesorder() { StatusID = openStatusID, Email = customerEmail, SubTotal = customizeModelDetails.CustomizeModel.Price, GrandTotal = customizeModelDetails.CustomizeModel.Price, CreateDT = DateTime.Now }); context.SaveChanges(); AddCustomizeSalesOrderItem(salesOrder.ID, sku, size, customizeModelDetails.CustomizeModel.Price, context); } else { var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID && a.Size == size && a.SKU == sku).FirstOrDefault(); if (soItem == null) { salesOrder.GrandTotal += customizeModelDetails.CustomizeModel.Price; salesOrder.UpdateDT = DateTime.Now; AddCustomizeSalesOrderItem(salesOrder.ID, sku, size, customizeModelDetails.CustomizeModel.Price, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } } context.SaveChanges(); trans.Complete(); } } else // Anonymous user { ConstructShoppingBagCookie(); var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null && a.Size == size && a.SKU == sku && a.CookieID == cookieID).FirstOrDefault(); if (soItem == null) { AddCustomizeSalesOrderItem(null, sku, size, customizeModelDetails.CustomizeModel.Price, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } context.SaveChanges(); } } #endregion } catch (Exception ex) { throw; } return RedirectToAction("Index"); }
public virtual ActionResult Details(ModelDetailsViewModel viewModel, FormCollection collection) { try { if (collection["submit"].ToString() == "+ ADD TO BAG") { ConstructShoppingBagCookie(); #region Add to Cart var salesOrder = new trnsalesorder(); using (var context = new TTTEntities()) { var query = from modelSize in context.lnkmodelsizes join model in context.refmodels on modelSize.ModelID equals model.ID select new { ModelSizeID = modelSize.ID, Model = model }; var modelDetails = query.Where(a => a.ModelSizeID == viewModel.ModelSizeID).Single(); var discountPrice = modelDetails.Model.DiscountPrice.HasValue ? modelDetails.Model.DiscountPrice.Value : 0; var modelPrice = discountPrice != 0 ? modelDetails.Model.DiscountPrice.Value : modelDetails.Model.Price; var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email; ; if (!string.IsNullOrEmpty(customerEmail)) // login customer { var openStatusID = Util.GetStatusID(Status.Open.ToString()); salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault(); using (var trans = new TransactionScope()) { if (salesOrder == null) { salesOrder = context.trnsalesorders.Add(new trnsalesorder() { StatusID = openStatusID, Email = customerEmail, SubTotal = 0, GrandTotal = modelPrice, CreateDT = DateTime.Now }); context.SaveChanges(); AddSalesOrderItem(salesOrder.ID, viewModel.ModelSizeID, viewModel.SKU, modelPrice, context); } else { // update sales order grand total salesOrder.GrandTotal += modelPrice; var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID && a.ModelSizeID == viewModel.ModelSizeID).SingleOrDefault(); if (soItem == null) { salesOrder.UpdateDT = DateTime.Now; AddSalesOrderItem(salesOrder.ID, viewModel.ModelSizeID, viewModel.SKU, modelPrice, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } } context.SaveChanges(); trans.Complete(); } } else { ConstructShoppingBagCookie(); var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null && a.ModelSizeID == viewModel.ModelSizeID && a.CookieID == cookieID).SingleOrDefault(); if (soItem == null) { AddSalesOrderItem(null, viewModel.ModelSizeID, viewModel.SKU, modelPrice, context); } else { soItem.Active = true; soItem.UpdateDT = DateTime.Now; } context.SaveChanges(); } } #endregion } else if (collection["submit"].ToString() == "+ ADD TO WISH LIST") { #region Add to Wishlist if (!Request.IsAuthenticated) { return RedirectToAction(MVC.SignIn.Index(Url.Action("Details", new { modelID = viewModel.ModelID, colourDescID = viewModel.ColourDescID }))); } AddToWishList(viewModel); #endregion } } catch (Exception ex) { throw; } return RedirectToAction("Details", new { modelID = viewModel.ModelID, colourDescID = viewModel.ColourDescID }); }