public ActionResult AjaxGetShipTypeList(string paymentcateid, string shipaddrsysno) { PaymentCategory paymentCate; int shipAddrSysNo; if (!Enum.TryParse(paymentcateid, out paymentCate)) { throw new BusinessException("无效的请求"); } if (!int.TryParse(shipaddrsysno, out shipAddrSysNo)) { throw new BusinessException("无效的请求"); } var shippingAddress = CustomerShippingAddresssFacade.GetCustomerShippingAddress(shipAddrSysNo, CurrUser.UserSysNo); if (shippingAddress == null) { return(PartialView("_ShipTypePanel", new List <ShipTypeInfo>(0))); } ShoppingCart shoppingCart = ShoppingStorageManager.GetShoppingCartFromCookieOrCreateNew(); CheckOutResult result = ShoppingFacade.GetPayAndShipTypeList(null, CurrUser.UserSysNo, shoppingCart); var shipTypeList = result.ShipTypeList; //var shipTypeList = ShipTypeFacade.GetSupportedShipTypeList(shippingAddress.ReceiveAreaSysNo, paymentCate); return(PartialView("_ShipTypePanel", shipTypeList)); }
/// <summary> /// 根据CheckOutResult获取ShoppingCart /// </summary> /// <param name="checkOutResult"></param> /// <returns></returns> private static ShoppingCart GetShoppingCart(CheckOutResult checkOutResult) { ShoppingCart pipelineShoppingCart = (checkOutResult != null && checkOutResult.OrderProcessResult != null && checkOutResult.OrderProcessResult.ReturnData != null && checkOutResult.OrderProcessResult.ReturnData["pipelineShoppingCart"] != null) ? checkOutResult.OrderProcessResult.ReturnData["pipelineShoppingCart"] as ShoppingCart : ShoppingStorageManager.GetShoppingCartFromCookie(); return(pipelineShoppingCart); }
public JsonResult AjaxApplyCoupon(CheckOutContext context) { CheckOutResult checkOutResult = BuildCheckout(context); var result = new { couponCode = checkOutResult.ApplyCouponCode, couponName = checkOutResult.ApplyCouponName, success = checkOutResult.HasSucceed && string.IsNullOrWhiteSpace(checkOutResult.ApplyedCouponDesc), message = !checkOutResult.HasSucceed ? checkOutResult.ErrorMessages[0] : checkOutResult.ApplyedCouponDesc }; return(Json(result)); }
public static CheckOutResultModel MappingCheckOutResult(CheckOutResult result) { CheckOutResultModel model = EntityConverter <CheckOutResult, CheckOutResultModel> .Convert(result, "Item"); if (model != null) { //model.PayTypeList = (model.PayTypeList != null && model.PayTypeList.Count > 0) ? model.PayTypeList.FindAll(item => item.PayTypeID == 111) : null; if (result != null && result.OrderProcessResult != null) { model.ReturnData = MappingOrderInfo(result.OrderProcessResult.ReturnData, "Order"); model.ReturnData.ShipTypeName = (model.ShipTypeList != null && model.ShipTypeList.Count > 0) ? model.ShipTypeList.FindAll(item => item.ShipTypeID == model.ReturnData.ShipTypeID).ElementAt(0).ShipTypeName : null; } } return(model); }
public JsonResult AjaxSubmitCheckout(CheckOutContext context) { if (context == null) { return(Json(BuildAjaxErrorObject("无效的请求"))); } ShoppingCart shoppingCart = ShoppingStorageManager.GetShoppingCartFromCreateNew(); //优先从购买商品参数来构建购物车对象 if (!String.IsNullOrWhiteSpace(context.ShoppingItemParam)) { String[] shoppingItemParams = context.ShoppingItemParam.Split(new char[] { '|' }); if (shoppingItemParams.Length == 2) { shoppingCart = ShoppingStorageManager.GetShoppingCartFromParam(shoppingItemParams[0], shoppingItemParams[1]); } } //其次从cookie中来构建购物车对象 if (ShoppingCartIsEmpty(shoppingCart)) { shoppingCart = ShoppingStorageManager.GetShoppingCartFromCookieOrCreateNew(); } if (ShoppingCartIsEmpty(shoppingCart)) { return(Json(new { url = PageHelper.BuildUrl("ShoppingCart") })); } CheckOutResult result = ShoppingFacade.SubmitCheckout(context, shoppingCart, CurrUser.UserSysNo, SOSource.Wechat); if (result.HasSucceed) { //取得订单编号列表 List <int> soSysNoList = result.OrderProcessResult.ReturnData.SubOrderList.Select(subOrder => subOrder.Value.ID).ToList(); ShoppingStorageManager.SaveLatestSO(soSysNoList); //团购订单数据不是来自cookie,不能清除cookie if (!result.OrderProcessResult.ReturnData.SubOrderList.Any(x => x.Value.SOType == (int)SOType.GroupBuy)) { ShoppingStorageManager.RemoveShoppingCartCookie(); } return(Json(new { url = PageHelper.BuildUrl("Thankyou", result.OrderProcessResult.ReturnData.ShoppingCartID) })); } return(Json(new { error = true, messages = result.ErrorMessages })); }
private CheckOutResult CalcGroupBuyTag(CheckOutResult checkout) { if (checkout.OrderProcessResult != null && checkout.OrderProcessResult.ReturnData != null && checkout.OrderProcessResult.ReturnData.OrderItemGroupList != null) { var order = checkout.OrderProcessResult.ReturnData; checkout.IsGroupBuyOrder = order.OrderItemGroupList.Exists((x => { if (x.ProductItemList != null) { return(x.ProductItemList.Exists(y => y.SpecialActivityType == 1 || y.SpecialActivityType == 3)); } return(false); })); } return(checkout); }
public ActionResult AjaxGetPayAndShipType(CheckOutContext context) { ShoppingCart shoppingCart = ShoppingStorageManager.GetShoppingCartFromCookieOrCreateNew(); ShoppingCart shoppingCartNew = ShoppingStorageManager.GetShoppingCartFromCreateNew(); if (context == null) { throw new BusinessException("无效的请求"); } ShoppingItemGroup ShoppingItem = new ShoppingItemGroup(); if (!string.IsNullOrEmpty(context.PackageTypeGroupList)) { string[] array = context.PackageTypeGroupList.Split(','); foreach (var item in array) { int sysNo = 0; if (int.TryParse(item, out sysNo)) { ShoppingItem = shoppingCart.ShoppingItemGroupList.FindAll(m => (m.PackageType.Equals(1) && m.PackageNo.Equals(sysNo)))[0]; shoppingCartNew.ShoppingItemGroupList.Add(ShoppingItem); } } } if (!string.IsNullOrEmpty(context.PackageTypeSingleList)) { string[] array = context.PackageTypeSingleList.Split(','); foreach (var item in array) { int sysNo = 0; if (int.TryParse(item, out sysNo)) { ShoppingItem = shoppingCart.ShoppingItemGroupList.FindAll(m => (m.PackageType.Equals(0) && m.ShoppingItemList[0].ProductSysNo.Equals(sysNo)))[0]; shoppingCartNew.ShoppingItemGroupList.Add(ShoppingItem); } } } CheckOutResult result = ShoppingFacade.GetPayAndShipTypeList(context, CurrUser.UserSysNo, shoppingCartNew); return(PartialView("_PayAndShipTypePanel", result)); }
public ActionResult GetShippingAddressList(CheckOutContext context) { if (context == null) { throw new BusinessException("无效的请求"); } CheckOutResult result = new CheckOutResult(); result.ShippingAddressList = CustomerShippingAddresssFacade.GetCustomerShippingAddressList(CurrUser.UserSysNo); if (result.ShippingAddressList != null) { result.SelShippingAddress = result.ShippingAddressList.Find(x => x.SysNo == context.ShippingAddressID); if (result.SelShippingAddress == null) { result.SelShippingAddress = result.ShippingAddressList.Find(x => x.IsDefault); } } return(PartialView("_RMAShippingAddressPanel", result)); }
public ActionResult AjaxBuildCheckOut(CheckOutContext context) { CheckOutResult checkOutResult = BuildCheckout(context); return(PartialView("_CheckoutPanel", checkOutResult)); }
public static AjaxResult AjaxSubmitCheckout(CheckOutContext context) { AjaxResult ajaxResult = new AjaxResult(); ajaxResult.Success = false; ajaxResult.Code = -1; if (context == null) { ajaxResult.Code = -2; ajaxResult.Message = "无效的请求"; return(ajaxResult); } ShoppingCart shoppingCart = ShoppingStorageManager.GetShoppingCartFromCreateNew(); ShoppingCart shoppingCartNew = ShoppingStorageManager.GetShoppingCartFromCreateNew(); //优先从购买商品参数来构建购物车对象 if (!String.IsNullOrWhiteSpace(context.ShoppingItemParam)) { String[] shoppingItemParams = context.ShoppingItemParam.Split(new char[] { '|' }); if (shoppingItemParams.Length == 2) { shoppingCartNew = ShoppingStorageManager.GetShoppingCartFromParam(shoppingItemParams[0], shoppingItemParams[1]); } } //其次从cookie中来构建购物车对象 if (ShoppingCartIsEmpty(shoppingCartNew)) { shoppingCart = ShoppingStorageManager.GetShoppingCartFromCookieOrCreateNew(); ShoppingItemGroup ShoppingItem = new ShoppingItemGroup(); shoppingCartNew.ShoppingItemGroupList = shoppingCart.ShoppingItemGroupList.FindAll(m => m.PackageChecked); } if (ShoppingCartIsEmpty(shoppingCartNew)) { ajaxResult.Code = -3; ajaxResult.Message = "空购物车"; return(ajaxResult); } shoppingCartNew.OrderDeleteGiftSysNo = shoppingCart.OrderDeleteGiftSysNo; shoppingCartNew.OrderSelectGiftSysNo = shoppingCart.OrderSelectGiftSysNo; CheckOutResult result = ShoppingFacade.SubmitCheckout(context, shoppingCartNew, UserMgr.ReadUserInfo().UserSysNo, HeaderHelper.GetClientType() == ClientType.IPhone ? SOSource.IPhone : SOSource.Android); if (result.ErrorMessages != null && result.ErrorMessages.Count > 0) { result.ErrorMessages.ForEach(item => { if (!string.IsNullOrWhiteSpace(item)) { ajaxResult.Message += item; } }); } if (result.HasSucceed) { //取得订单编号列表 List <int> soSysNoList = result.OrderProcessResult.ReturnData.SubOrderList.Select(subOrder => subOrder.Value.ID).ToList(); ShoppingStorageManager.SaveLatestSO(soSysNoList); //团购订单数据不是来自cookie,不能清除cookie if (!result.OrderProcessResult.ReturnData.SubOrderList.Any(x => x.Value.SOType == (int)SOType.GroupBuy)) { //ShoppingStorageManager.RemoveShoppingCartCookie(); ShoppingCart leaveshoppingCart = ShoppingStorageManager.GetShoppingCartFromCreateNew(); leaveshoppingCart.ShoppingItemGroupList = shoppingCart.ShoppingItemGroupList.FindAll(m => !m.PackageChecked); if (leaveshoppingCart.ShoppingItemGroupList.Count > 0) { foreach (var itemGroup in leaveshoppingCart.ShoppingItemGroupList) { if (itemGroup.PackageType.Equals(0)) { foreach (ShoppingItem ProductItem in itemGroup.ShoppingItemList) { itemGroup.PackageChecked = true; ProductItem.ProductChecked = true; } } if (itemGroup.PackageType.Equals(1)) { itemGroup.PackageChecked = true; } } } LoginUser userInfo = UserMgr.ReadUserInfo(); leaveshoppingCart.CustomerSysNo = userInfo == null ? 0 : userInfo.UserSysNo; HttpContext.Current.Request.Cookies.Remove(ShoppingStorageManager.GetConfigCartName()); ShoppingStorageManager.SaveShoppingCart(leaveshoppingCart); } ajaxResult.Code = 0; ajaxResult.Success = true; ajaxResult.Data = result.OrderProcessResult.ReturnData.ShoppingCartID; //var cookie = HttpContext.Current.Request.Cookies.Get(ShoppingStorageManager.GetConfigCartName()); //ShoppingCart shoppingCart222 = ShoppingStorageManager.GetShoppingCartFromCookieOrCreateNew(); return(ajaxResult); } return(ajaxResult); }
public JsonResult AjaxSubmitCheckout(CheckOutContext context) { if (context == null) { return(Json(BuildAjaxErrorObject("无效的请求"))); } ShoppingCart shoppingCart = ShoppingStorageManager.GetShoppingCartFromCreateNew(); ShoppingCart shoppingCartNew = ShoppingStorageManager.GetShoppingCartFromCreateNew(); //优先从购买商品参数来构建购物车对象 if (!String.IsNullOrWhiteSpace(context.ShoppingItemParam)) { String[] shoppingItemParams = context.ShoppingItemParam.Split(new char[] { '|' }); if (shoppingItemParams.Length == 2) { shoppingCartNew = ShoppingStorageManager.GetShoppingCartFromParam(shoppingItemParams[0], shoppingItemParams[1]); } } //其次从cookie中来构建购物车对象 if (ShoppingCartIsEmpty(shoppingCartNew)) { shoppingCart = ShoppingStorageManager.GetShoppingCartFromCookieOrCreateNew(); ShoppingItemGroup ShoppingItem = new ShoppingItemGroup(); if (!string.IsNullOrEmpty(context.PackageTypeGroupList)) { string[] array = context.PackageTypeGroupList.Split(','); foreach (var item in array) { int sysNo = 0; if (int.TryParse(item, out sysNo)) { ShoppingItem = shoppingCart.ShoppingItemGroupList.FindAll(m => (m.PackageType.Equals(1) && m.PackageNo.Equals(sysNo)))[0]; shoppingCartNew.ShoppingItemGroupList.Add(ShoppingItem); } } } if (!string.IsNullOrEmpty(context.PackageTypeSingleList)) { string[] array = context.PackageTypeSingleList.Split(','); foreach (var item in array) { int sysNo = 0; if (int.TryParse(item, out sysNo)) { ShoppingItem = shoppingCart.ShoppingItemGroupList.FindAll(m => (m.PackageType.Equals(0) && m.ShoppingItemList[0].ProductSysNo.Equals(sysNo)))[0]; shoppingCartNew.ShoppingItemGroupList.Add(ShoppingItem); } } } } if (ShoppingCartIsEmpty(shoppingCartNew)) { return(Json(new { url = PageHelper.BuildUrl("ShoppingCartRoute") })); } shoppingCartNew.OrderDeleteGiftSysNo = shoppingCart.OrderDeleteGiftSysNo; shoppingCartNew.OrderSelectGiftSysNo = shoppingCart.OrderSelectGiftSysNo; CheckOutResult result = ShoppingFacade.SubmitCheckout(context, shoppingCartNew, CurrUser.UserSysNo, SOSource.None); if (result.HasSucceed) { //取得订单编号列表 List <int> soSysNoList = result.OrderProcessResult.ReturnData.SubOrderList.Select(subOrder => subOrder.Value.ID).ToList(); ShoppingStorageManager.SaveLatestSO(soSysNoList); //团购订单数据不是来自cookie,不能清除cookie if (!result.OrderProcessResult.ReturnData.SubOrderList.Any(x => x.Value.SOType == (int)SOType.GroupBuy || x.Value.SOType == (int)SOType.VirualGroupBuy)) { //ShoppingStorageManager.RemoveShoppingCartCookie(); //移除mini购物车 //ShoppingStorageManager.RemoveShoppingCartMiniCookie(); //删除套餐 if (!string.IsNullOrEmpty(context.PackageTypeGroupList)) { string[] array = context.PackageTypeGroupList.Split(','); foreach (var item in array) { int sysNo = 0; if (int.TryParse(item, out sysNo)) { shoppingCart.ShoppingItemGroupList = shoppingCart.ShoppingItemGroupList.FindAll(m => (m.PackageType.Equals(1) && !m.PackageNo.Equals(sysNo)) || m.PackageType.Equals(0)); } } } //删除单个商品 if (!string.IsNullOrEmpty(context.PackageTypeSingleList)) { string[] array = context.PackageTypeSingleList.Split(','); foreach (var item in array) { int sysNo = 0; if (int.TryParse(item, out sysNo)) { shoppingCart.ShoppingItemGroupList = shoppingCart.ShoppingItemGroupList.FindAll(m => (m.PackageType.Equals(0) && !m.ShoppingItemList[0].ProductSysNo.Equals(sysNo)) || m.PackageType.Equals(1)); } } } //用于计算会员价: LoginUser userInfo = UserMgr.ReadUserInfo(); shoppingCart.CustomerSysNo = userInfo == null ? 0 : userInfo.UserSysNo; OrderPipelineProcessResult shoppingResult = ShoppingFacade.BuildShoppingCart(shoppingCart); ShoppingCart pipelineShoppingCart = (shoppingResult.ReturnData != null && shoppingResult.ReturnData["ShoppingCart"] != null) ? shoppingResult.ReturnData["ShoppingCart"] as ShoppingCart : new ShoppingCart(); shoppingCart.OrderSelectGiftSysNo = pipelineShoppingCart.OrderSelectGiftSysNo; shoppingCart.OrderDeleteGiftSysNo = pipelineShoppingCart.OrderDeleteGiftSysNo; ShoppingStorageManager.SaveShoppingCart(shoppingCart); //将迷你购物车加入Cookie ShoppingStorageManager.SaveShoppingCartMini(ShoppingFacade.BuildMiniShoppingCartFromPipeline(shoppingResult)); } return(Json(new { url = PageHelper.BuildUrl("Thankyou", result.OrderProcessResult.ReturnData.ShoppingCartID) })); } return(Json(new { errors = result.ErrorMessages })); }