コード例 #1
0
 public ActionResult AddCart(string sku, int count = 1, string viewName = "AddCart")
 {
     if (string.IsNullOrWhiteSpace(sku))
     {
         return base.RedirectToAction("Index", "Home");
     }
     int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID;
     ShoppingCartHelper helper = new ShoppingCartHelper(userId);
     ShoppingCartItem cartItem = new ShoppingCartItem();
     ProductModel model = new ProductModel();
     Maticsoft.Model.Shop.Products.SKUInfo modelBySKU = this.skuBll.GetModelBySKU(sku);
     if (modelBySKU == null)
     {
         return base.Content("NOSKU");
     }
     List<Maticsoft.Model.Shop.Products.SKUInfo> list2 = new List<Maticsoft.Model.Shop.Products.SKUInfo> {
         modelBySKU
     };
     model.ProductSkus = list2;
     model.ProductInfo = this.productBll.GetModelByCache(modelBySKU.ProductId);
     if ((model.ProductInfo != null) && (model.ProductSkus != null))
     {
         cartItem.Name = model.ProductInfo.ProductName;
         cartItem.Quantity = count;
         cartItem.SKU = model.ProductSkus[0].SKU;
         cartItem.ProductId = model.ProductInfo.ProductId;
         cartItem.UserId = userId;
         List<Maticsoft.Model.Shop.Products.SKUItem> sKUItemsBySkuId = this.skuBll.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 = model.ProductInfo.ThumbnailUrl1;
         cartItem.CostPrice = model.ProductSkus[0].CostPrice.HasValue ? model.ProductSkus[0].CostPrice.Value : 0M;
         cartItem.MarketPrice = model.ProductInfo.MarketPrice.HasValue ? model.ProductInfo.MarketPrice.Value : 0M;
         cartItem.SellPrice = cartItem.AdjustedPrice = model.ProductSkus[0].SalePrice;
         cartItem.Weight = model.ProductSkus[0].Weight.HasValue ? model.ProductSkus[0].Weight.Value : 0;
         helper.AddItem(cartItem);
         ShoppingCartInfo shoppingCart = helper.GetShoppingCart();
         ((dynamic) base.ViewBag).TotalPrice = shoppingCart.TotalSellPrice;
         ((dynamic) base.ViewBag).ItemCount = shoppingCart.Quantity;
     }
     ((dynamic) base.ViewBag).Title = "添加购物车";
     return base.RedirectToAction("CartInfo");
 }
コード例 #2
0
 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);
 }
コード例 #3
0
 public ActionResult RemoveItem(FormCollection Fm)
 {
     if (string.IsNullOrWhiteSpace(Fm["ItemIds"]))
     {
         return base.Content("No");
     }
     string[] strArray = Fm["ItemIds"].Split(new char[] { ',' });
     int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID;
     ShoppingCartHelper helper = new ShoppingCartHelper(userId);
     foreach (string str2 in strArray)
     {
         int itemId = Globals.SafeInt(str2, 0);
         helper.RemoveItem(itemId);
     }
     return base.Content("Yes");
 }
コード例 #4
0
ファイル: OrderHandler.cs プロジェクト: huaminglee/myyyyshop
 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;
 }
コード例 #5
0
 public ActionResult GetCartCount()
 {
     int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID;
     ShoppingCartHelper helper = new ShoppingCartHelper(userId);
     return base.Content(helper.GetShoppingCart().Quantity.ToString(CultureInfo.InvariantCulture));
 }
コード例 #6
0
 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);
 }
コード例 #7
0
 public ActionResult ShowPayAndShip(int payId = -1, int shipId = -1, string sku = new string(), int count = 1, int c = -1, string viewName = "_ShowPayAndShip")
 {
     ShoppingCartInfo shoppingCart;
     PayAndShip model = new PayAndShip {
         ListPaymentMode = PaymentModeManage.GetPaymentModes()
     };
     if (payId > 0)
     {
         model.CurrentPaymentMode = PaymentModeManage.GetPaymentModeById(payId);
     }
     else if ((model.ListPaymentMode != null) && (model.ListPaymentMode.Count > 0))
     {
         model.CurrentPaymentMode = model.ListPaymentMode[0];
         model.ListShippingType = this._shippingTypeManage.GetListByPay(model.CurrentPaymentMode.ModeId);
     }
     else
     {
         PaymentModeInfo info = new PaymentModeInfo {
             ModeId = -1,
             Name = "未选择支付方式"
         };
         model.CurrentPaymentMode = info;
     }
     if (shipId > 0)
     {
         model.CurrentShippingType = this._shippingTypeManage.GetModelByCache(shipId);
     }
     else if ((model.ListShippingType != null) && (model.ListShippingType.Count > 0))
     {
         model.CurrentShippingType = model.ListShippingType[0];
     }
     else
     {
         Maticsoft.Model.Shop.Shipping.ShippingType type = new Maticsoft.Model.Shop.Shipping.ShippingType {
             ModeId = -1,
             Name = "未选择配送方式"
         };
         model.CurrentShippingType = type;
     }
     if (string.IsNullOrWhiteSpace(sku))
     {
         int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID;
         shoppingCart = new ShoppingCartHelper(userId).GetShoppingCart();
     }
     else
     {
         Maticsoft.BLL.Shop.Products.SKUInfo info3 = new Maticsoft.BLL.Shop.Products.SKUInfo();
         Maticsoft.BLL.Shop.Products.ProductInfo info4 = new Maticsoft.BLL.Shop.Products.ProductInfo();
         Maticsoft.Model.Shop.Products.SKUInfo modelBySKU = info3.GetModelBySKU(sku);
         if (modelBySKU == null)
         {
             ((dynamic) base.ViewBag).Freight = 0;
             return base.View(viewName, model);
         }
         Maticsoft.Model.Shop.Products.ProductInfo productInfo = info4.GetModel(modelBySKU.ProductId);
         if (productInfo == null)
         {
             ((dynamic) base.ViewBag).Freight = 0;
             return base.View(viewName, model);
         }
         Maticsoft.Model.Shop.Products.ProductInfo proSaleInfo = null;
         if (c > 0)
         {
             proSaleInfo = info4.GetProSaleModel(c);
             if (proSaleInfo == null)
             {
                 ((dynamic) base.ViewBag).Freight = 0;
                 return base.View(viewName, model);
             }
         }
         shoppingCart = this.GetCartInfo4SKU(productInfo, modelBySKU, count, proSaleInfo);
     }
     ((dynamic) base.ViewBag).Freight = shoppingCart.CalcFreight(model.CurrentShippingType);
     return base.View(viewName, model);
 }
コード例 #8
0
 public PartialViewResult SearchCart(string ViewName = "_SearchCart")
 {
     int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID;
     ShoppingCartInfo shoppingCart = new ShoppingCartHelper(userId).GetShoppingCart();
     ((dynamic) base.ViewBag).CartCount = shoppingCart.Quantity;
     WebSiteSet set = new WebSiteSet(ApplicationKeyType.Shop);
     ((dynamic) base.ViewBag).Logo = set.LogoPath;
     return base.PartialView(ViewName);
 }
コード例 #9
0
 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);
 }
コード例 #10
0
 public ActionResult ShowPayAndShip(string viewName = "_ShowPayAndShip")
 {
     PayAndShip model = new PayAndShip();
     int modeId = Globals.SafeInt(base.Request.Params["payId"], 0);
     int num2 = Globals.SafeInt(base.Request.QueryString["shipId"], 0);
     model.ListPaymentMode = PaymentModeManage.GetPaymentModes();
     if (modeId > 0)
     {
         model.CurrentPaymentMode = PaymentModeManage.GetPaymentModeById(modeId);
     }
     else if ((model.ListPaymentMode != null) && (model.ListPaymentMode.Count > 0))
     {
         model.CurrentPaymentMode = model.ListPaymentMode[0];
         model.ListShippingType = this._shippingTypeManage.GetListByPay(model.CurrentPaymentMode.ModeId);
     }
     else
     {
         PaymentModeInfo info = new PaymentModeInfo {
             ModeId = -1,
             Name = "未选择支付方式"
         };
         model.CurrentPaymentMode = info;
     }
     if (num2 > 0)
     {
         model.CurrentShippingType = this._shippingTypeManage.GetModelByCache(num2);
     }
     else if ((model.ListShippingType != null) && (model.ListShippingType.Count > 0))
     {
         model.CurrentShippingType = model.ListShippingType[0];
     }
     else
     {
         Maticsoft.Model.Shop.Shipping.ShippingType type = new Maticsoft.Model.Shop.Shipping.ShippingType {
             ModeId = -1,
             Name = "未选择配送方式"
         };
         model.CurrentShippingType = type;
     }
     ShoppingCartInfo shoppingCart = new ShoppingCartInfo();
     int userId = (base.currentUser == null) ? -1 : base.currentUser.UserID;
     shoppingCart = new ShoppingCartHelper(userId).GetShoppingCart();
     ((dynamic) base.ViewBag).Freight = shoppingCart.CalcFreight(model.CurrentShippingType);
     return base.View(viewName, model);
 }