public ActionResult CartList(string viewName = "_CartList") { int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID; ShoppingCartInfo shoppingCart = new ShoppingCartHelper(userId).GetShoppingCart(); try { shoppingCart = new SalesRuleProduct().GetWholeSale(shoppingCart); } catch (Exception exception) { throw exception; } return base.View(viewName, shoppingCart); }
private ShoppingCartInfo GetShoppingCart(HttpContext context, User userBuyer, out ShoppingCartHelper shoppingCartHelper) { ShoppingCartInfo cartInfo = null; string str = context.Request.Form["SkuInfos"]; if (string.IsNullOrWhiteSpace(str)) { shoppingCartHelper = new ShoppingCartHelper(userBuyer.UserID); cartInfo = shoppingCartHelper.GetShoppingCart(); } else { JsonArray array; shoppingCartHelper = null; try { array = JsonConvert.Import<JsonArray>(str); } catch (Exception) { throw; } if ((array == null) || (array.Length < 1)) { return null; } JsonObject obj2 = array.GetObject(0); string sku = obj2["SKU"].ToString(); int num = Globals.SafeInt(obj2["Count"].ToString(), 1); int id = Globals.SafeInt(obj2["ProSales"].ToString(), -1); Maticsoft.Model.Shop.Products.SKUInfo modelBySKU = this._skuInfoManage.GetModelBySKU(sku); if (modelBySKU == null) { return null; } Maticsoft.Model.Shop.Products.ProductInfo model = this._productInfoManage.GetModel(modelBySKU.ProductId); if (model == null) { return null; } ShoppingCartItem itemInfo = new ShoppingCartItem { MarketPrice = model.MarketPrice.HasValue ? model.MarketPrice.Value : 0M, Name = model.ProductName, Quantity = num, SellPrice = modelBySKU.SalePrice, AdjustedPrice = modelBySKU.SalePrice, SKU = modelBySKU.SKU, ProductId = modelBySKU.ProductId, UserId = userBuyer.UserID }; if (id > 0) { Maticsoft.Model.Shop.Products.ProductInfo proSaleModel = this._productInfoManage.GetProSaleModel(id); if (proSaleModel == null) { return null; } if (DateTime.Now > proSaleModel.ProSalesEndDate) { throw new ArgumentNullException("活动已过期"); } itemInfo.AdjustedPrice = proSaleModel.ProSalesPrice; } List<Maticsoft.Model.Shop.Products.SKUItem> sKUItemsBySkuId = this._skuInfoManage.GetSKUItemsBySkuId(modelBySKU.SkuId); if ((sKUItemsBySkuId != null) && (sKUItemsBySkuId.Count > 0)) { itemInfo.SkuValues = new string[sKUItemsBySkuId.Count]; int index = 0; sKUItemsBySkuId.ForEach(delegate (Maticsoft.Model.Shop.Products.SKUItem xx) { itemInfo.SkuValues[index++] = xx.ValueStr; if (!string.IsNullOrWhiteSpace(xx.ImageUrl)) { itemInfo.SkuImageUrl = xx.ImageUrl; } }); } itemInfo.ThumbnailsUrl = model.ThumbnailUrl1; itemInfo.CostPrice = modelBySKU.CostPrice.HasValue ? modelBySKU.CostPrice.Value : 0M; itemInfo.Weight = modelBySKU.Weight.HasValue ? modelBySKU.Weight.Value : 0; Maticsoft.Model.Shop.Supplier.SupplierInfo modelByCache = new Maticsoft.BLL.Shop.Supplier.SupplierInfo().GetModelByCache(model.SupplierId); if (modelByCache != null) { itemInfo.SupplierId = new int?(modelByCache.SupplierId); itemInfo.SupplierName = modelByCache.Name; } cartInfo = new ShoppingCartInfo(); cartInfo.Items.Add(itemInfo); } try { cartInfo = new SalesRuleProduct().GetWholeSale(cartInfo); } catch (Exception) { return null; } return cartInfo; }
public PartialViewResult WholeSale(int ProductId, string viewName = "_WholeSale") { SalesModel salesRuleByCache = new SalesModel(); if (base.currentUser != null) { salesRuleByCache = new SalesRuleProduct().GetSalesRuleByCache((long) ProductId, base.currentUser.UserID); } return this.PartialView(viewName, salesRuleByCache); }
public ActionResult SubmitOrder(string sku, int count = 1, int shippingTypeId = -1, int c = -1, string viewName = "SubmitOrder") { ShoppingCartInfo cartInfo = new ShoppingCartInfo(); if (string.IsNullOrWhiteSpace(sku)) { int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID; cartInfo = new ShoppingCartHelper(userId).GetShoppingCart(); } else { Maticsoft.BLL.Shop.Products.SKUInfo info2 = new Maticsoft.BLL.Shop.Products.SKUInfo(); Maticsoft.BLL.Shop.Products.ProductInfo info3 = new Maticsoft.BLL.Shop.Products.ProductInfo(); Maticsoft.Model.Shop.Products.SKUInfo modelBySKU = info2.GetModelBySKU(sku); if (modelBySKU == null) { return new RedirectResult("/Error"); } Maticsoft.Model.Shop.Products.ProductInfo productInfo = info3.GetModel(modelBySKU.ProductId); if (productInfo == null) { return new RedirectResult("/Error"); } Maticsoft.Model.Shop.Products.ProductInfo proSaleInfo = null; if (c > 0) { proSaleInfo = info3.GetProSaleModel(c); if (proSaleInfo == null) { return new RedirectResult("/Error"); } if (DateTime.Now > proSaleInfo.ProSalesEndDate) { return base.RedirectToAction("ProSaleDetail", "Product", new { area = "Shop", id = c }); } } cartInfo = this.GetCartInfo4SKU(productInfo, modelBySKU, count, proSaleInfo); } if (cartInfo.Items.Count < 1) { return (ActionResult) this.Redirect(((dynamic) base.ViewBag).BasePath + "ShoppingCart/CartInfo"); } try { cartInfo = new SalesRuleProduct().GetWholeSale(cartInfo); } catch (Exception exception) { throw exception; } Maticsoft.Model.Shop.Shipping.ShippingType model = this._shippingTypeManage.GetModel(shippingTypeId); ((dynamic) base.ViewBag).Freight = cartInfo.CalcFreight(model); ((dynamic) base.ViewBag).TotalQuantity = cartInfo.Quantity; ((dynamic) base.ViewBag).TotalAdjustedPrice = cartInfo.TotalAdjustedPrice; ((dynamic) base.ViewBag).ProductTotal = cartInfo.TotalSellPrice; ((dynamic) base.ViewBag).TotalPrice = cartInfo.TotalAdjustedPrice + ((dynamic) base.ViewBag).Freight; ((dynamic) base.ViewBag).TotalPromPrice = cartInfo.TotalSellPrice - cartInfo.TotalAdjustedPrice; ((dynamic) base.ViewBag).Title = "提交订单"; return base.View(viewName, cartInfo); }
public ActionResult SubmitOrder(string sku, int count = 1, string viewName = "SubmitOrder") { if (!string.IsNullOrWhiteSpace(sku)) { base.Session["SubmitOrder_SKU"] = sku; base.Session["SubmitOrder_COUNT"] = count; } else if (!string.IsNullOrWhiteSpace(base.Session["SubmitOrder_SKU"] as string)) { sku = base.Session["SubmitOrder_SKU"] as string; count = Globals.SafeInt(base.Session["SubmitOrder_COUNT"], 1); } ((dynamic) base.ViewBag).SkuInfo = sku; ((dynamic) base.ViewBag).SkuCount = count; ShoppingCartInfo cartInfo = new ShoppingCartInfo(); if (string.IsNullOrWhiteSpace(sku)) { int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID; cartInfo = new ShoppingCartHelper(userId).GetShoppingCart(); } else { Maticsoft.BLL.Shop.Products.SKUInfo info2 = new Maticsoft.BLL.Shop.Products.SKUInfo(); Maticsoft.BLL.Shop.Products.ProductInfo info3 = new Maticsoft.BLL.Shop.Products.ProductInfo(); Maticsoft.Model.Shop.Products.SKUInfo modelBySKU = info2.GetModelBySKU(sku); if (modelBySKU == null) { return new RedirectResult("/Error"); } Maticsoft.Model.Shop.Products.ProductInfo info5 = info3.GetModel(modelBySKU.ProductId); if (info5 == null) { return new RedirectResult("/Error"); } ShoppingCartItem cartItem = new ShoppingCartItem { MarketPrice = info5.MarketPrice.HasValue ? info5.MarketPrice.Value : 0M, Name = info5.ProductName, Quantity = count, SellPrice = modelBySKU.SalePrice, AdjustedPrice = modelBySKU.SalePrice, SKU = modelBySKU.SKU, ProductId = modelBySKU.ProductId, UserId = base.currentUser.UserID }; if (info5.SupplierId > 0) { Maticsoft.Model.Shop.Supplier.SupplierInfo modelByCache = new Maticsoft.BLL.Shop.Supplier.SupplierInfo().GetModelByCache(info5.SupplierId); if (modelByCache != null) { cartItem.SupplierId = new int?(modelByCache.SupplierId); cartItem.SupplierName = modelByCache.Name; } } List<Maticsoft.Model.Shop.Products.SKUItem> sKUItemsBySkuId = info2.GetSKUItemsBySkuId(modelBySKU.SkuId); if ((sKUItemsBySkuId != null) && (sKUItemsBySkuId.Count > 0)) { cartItem.SkuValues = new string[sKUItemsBySkuId.Count]; int index = 0; sKUItemsBySkuId.ForEach(delegate (Maticsoft.Model.Shop.Products.SKUItem xx) { cartItem.SkuValues[index++] = xx.ValueStr; if (!string.IsNullOrWhiteSpace(xx.ImageUrl)) { cartItem.SkuImageUrl = xx.ImageUrl; } }); } cartItem.ThumbnailsUrl = info5.ThumbnailUrl1; cartItem.CostPrice = modelBySKU.CostPrice.HasValue ? modelBySKU.CostPrice.Value : 0M; cartItem.Weight = modelBySKU.Weight.HasValue ? modelBySKU.Weight.Value : 0; cartInfo.Items.Add(cartItem); } if (cartInfo.Items.Count < 1) { return (ActionResult) this.Redirect(((dynamic) base.ViewBag).BasePath + "ShoppingCart/CartInfo"); } try { cartInfo = new SalesRuleProduct().GetWholeSale(cartInfo); } catch (Exception exception) { throw exception; } int modeId = Globals.SafeInt(base.Request.QueryString["shipId"], 0); Maticsoft.Model.Shop.Shipping.ShippingType model = this._shippingTypeManage.GetModel(modeId); ((dynamic) base.ViewBag).Freight = cartInfo.CalcFreight(model); ((dynamic) base.ViewBag).TotalQuantity = cartInfo.Quantity; ((dynamic) base.ViewBag).TotalAdjustedPrice = cartInfo.TotalAdjustedPrice; ((dynamic) base.ViewBag).TotalPrice = cartInfo.TotalAdjustedPrice + ((dynamic) base.ViewBag).Freight; ((dynamic) base.ViewBag).Title = "提交订单"; return base.View(viewName, cartInfo); }