/// <summary> /// 页面加载 /// </summary> protected override void PageLoad() { base.PageLoad(); userAddressList = UserAddressBLL.ReadList(base.UserId); singleUnlimitClass.DataSource = RegionBLL.ReadRegionUnlimitClass(); string action = RequestHelper.GetQueryString <string>("Action"); switch (action) { case "Update": int id = RequestHelper.GetQueryString <int>("ID"); userAddress = UserAddressBLL.Read(id, base.UserId); singleUnlimitClass.ClassID = userAddress.RegionId; break; case "Delete": string deleteID = RequestHelper.GetQueryString <string>("ID"); UserAddressBLL.Delete(deleteID, base.UserId); ResponseHelper.Write("ok"); ResponseHelper.End(); break; default: break; } }
/// <summary> /// 提交数据 /// </summary> protected override void PostBack() { UserAddressInfo userAddress = new UserAddressInfo(); userAddress.Id = RequestHelper.GetForm <int>("ID"); userAddress.Consignee = StringHelper.AddSafe(RequestHelper.GetForm <string>("Consignee")); userAddress.RegionId = singleUnlimitClass.ClassID; userAddress.Address = StringHelper.AddSafe(RequestHelper.GetForm <string>("Address")); userAddress.ZipCode = StringHelper.AddSafe(RequestHelper.GetForm <string>("ZipCode")); userAddress.Tel = StringHelper.AddSafe(RequestHelper.GetForm <string>("Tel")); userAddress.Mobile = StringHelper.AddSafe(RequestHelper.GetForm <string>("Mobile")); userAddress.IsDefault = RequestHelper.GetForm <int>("IsDefault"); userAddress.UserId = base.UserId; userAddress.UserName = base.UserName; string alertMessage = "添加成功"; if (userAddress.Id <= 0) { UserAddressBLL.Add(userAddress); } else { UserAddressBLL.Update(userAddress); alertMessage = "修改成功"; } ScriptHelper.AlertFront(alertMessage, RequestHelper.RawUrl); }
public void imethod_7(UserAddressInfo userAddressInfo_0) { if ((this.object_1 != null) && !this.class125_0.IsUserOnLine(userAddressInfo_0.UserID)) { this.class18_0.method_2(userAddressInfo_0); } }
protected override void PageLoad() { base.PageLoad(); string action = RequestHelper.GetQueryString <string>("Action"); switch (action) { case "Add": Add(); break; case "Delete": Delete(); break; case "Read": Read(); break; } int id = RequestHelper.GetQueryString <int>("id"); userAddress = UserAddressBLL.Read(id, base.UserId); singleUnlimitClass.DataSource = RegionBLL.ReadRegionUnlimitClass(); singleUnlimitClass.ClassID = userAddress.RegionId; userAddressList = UserAddressBLL.ReadList(base.UserId); }
private void OnEditAddress() { string numberId = hNId.Value.Trim(); if (!string.IsNullOrEmpty(numberId)) { if (profile == null) { profile = new CustomProfileCommon(); } UserAddressInfo model = profile.UserAddress.GetModel(Guid.Parse(numberId)); if (!OnCheckForm(ref model)) { return; } if (model != null) { profile.UserAddress.Update(model); profile.Save(); BindAddress(); BindSelectAddress(); hOp.Value = "savaAddress"; } } }
private void OnSaveAddress() { if (profile == null) { profile = new CustomProfileCommon(); } if (profile.UserAddress.Count >= 5) { MessageBox.Messager(this.Page, lbtnSave, "当前地址数量已达上限(5个),若要继续添加新地址,请先删除部分收货地址。"); return; } UserAddressInfo model = new UserAddressInfo(); if (!OnCheckForm(ref model)) { return; } model.NumberID = Guid.NewGuid(); List <UserAddressInfo> list = profile.UserAddress.GetList(); foreach (UserAddressInfo item in list) { item.IsDefault = false; } profile.UserAddress.Insert(model); profile.Save(); BindAddress(); BindSelectAddress(); }
protected override void PostBack() { UserAddressInfo userAddress = new UserAddressInfo(); userAddress.ID = RequestHelper.GetForm <int>("ID"); userAddress.Consignee = StringHelper.AddSafe(RequestHelper.GetForm <string>("Consignee")); userAddress.RegionID = this.singleUnlimitClass.ClassID; userAddress.Address = StringHelper.AddSafe(RequestHelper.GetForm <string>("Address")); userAddress.ZipCode = StringHelper.AddSafe(RequestHelper.GetForm <string>("ZipCode")); userAddress.Tel = StringHelper.AddSafe(RequestHelper.GetForm <string>("Tel")); userAddress.Mobile = StringHelper.AddSafe(RequestHelper.GetForm <string>("Mobile")); userAddress.IsDefault = RequestHelper.GetForm <int>("IsDefault"); userAddress.UserID = base.UserID; userAddress.UserName = base.UserName; if (userAddress.IsDefault == 1) { UserAddressBLL.UpdateUserAddressIsDefault(0, base.UserID); } string message = "添加成功"; if (userAddress.ID == 0) { UserAddressBLL.AddUserAddress(userAddress); } else { UserAddressBLL.UpdateUserAddress(userAddress); message = "修改成功"; } ScriptHelper.Alert(message, RequestHelper.RawUrl); }
protected override void PageLoad() { base.PageLoad(); this.userAddressList = UserAddressBLL.ReadUserAddressByUser(base.UserID); this.singleUnlimitClass.DataSource = RegionBLL.ReadRegionUnlimitClass(); string queryString = RequestHelper.GetQueryString <string>("Action"); if (queryString != null) { if (!(queryString == "Update")) { if (queryString == "Delete") { UserAddressBLL.DeleteUserAddress(RequestHelper.GetQueryString <string>("ID"), base.UserID); ResponseHelper.Write("ok"); ResponseHelper.End(); } } else { int id = RequestHelper.GetQueryString <int>("ID"); this.userAddress = UserAddressBLL.ReadUserAddress(id, base.UserID); this.singleUnlimitClass.ClassID = this.userAddress.RegionID; } } }
public UserAddressInfo ReadUserAddress(int id, int userID) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@id", SqlDbType.NVarChar), new SqlParameter("@userID", SqlDbType.Int) }; pt[0].Value = id; pt[1].Value = userID; UserAddressInfo info = new UserAddressInfo(); using (SqlDataReader reader = ShopMssqlHelper.ExecuteReader(ShopMssqlHelper.TablePrefix + "ReadUserAddress", pt)) { if (reader.Read()) { info.ID = reader.GetInt32(0); info.Consignee = reader[1].ToString(); info.RegionID = reader[2].ToString(); info.Address = reader[3].ToString(); info.ZipCode = reader[4].ToString(); info.Tel = reader[5].ToString(); info.Mobile = reader[6].ToString(); info.IsDefault = reader.GetInt32(7); info.UserID = reader.GetInt32(8); info.UserName = reader[9].ToString(); } } return(info); }
public int Add(UserAddressInfo entity) { using (var conn = new SqlConnection(connectString)) { string sql = @"INSERT INTO UsrAddress( Consignee,Email,RegionId,Address,ZipCode,Tel,Mobile,IsDefault,UserId,UserName) VALUES(@Consignee,@Email,@RegionId,@Address,@ZipCode,@Tel,@Mobile,@IsDefault,@UserId,@UserName); select SCOPE_IDENTITY()"; return(conn.Query <int>(sql, entity).Single()); } }
public void Update(UserAddressInfo entity) { using (var conn = new SqlConnection(connectString)) { string sql = @"UPDATE UsrAddress SET Consignee = @Consignee, Email = @Email, RegionId = @RegionId, Address = @Address, ZipCode = @ZipCode, Tel = @Tel, Mobile = @Mobile, IsDefault = @IsDefault, UserId = @UserId, UserName = @UserName where Id=@Id"; conn.Execute(sql, entity); } }
protected override void PageLoad() { base.PageLoad(); int id = RequestHelper.GetQueryString <int>("id"); userAddress = UserAddressBLL.Read(id, base.UserId); singleUnlimitClass.DataSource = RegionBLL.ReadRegionUnlimitClass(); singleUnlimitClass.ClassID = userAddress.RegionId; Title = "收货地址"; }
/// <summary> /// 页面加载 /// </summary> protected override void PageLoad() { base.PageLoad(); singleUnlimitClass.DataSource = RegionBLL.ReadRegionUnlimitClass(); singleUnlimitClass.FunctionName = "readShippingList()"; int id = RequestHelper.GetQueryString <int>("ID"); if (id > 0) { userAddress = UserAddressBLL.Read(id, base.UserId); singleUnlimitClass.ClassID = userAddress.RegionId; } }
protected override void PageLoad() { base.PageLoad(); this.singleUnlimitClass.DataSource = RegionBLL.ReadRegionUnlimitClass(); this.singleUnlimitClass.FunctionName = "readShippingList()"; int queryString = RequestHelper.GetQueryString <int>("ID"); if (queryString > 0) { this.userAddress = UserAddressBLL.ReadUserAddress(queryString, base.UserID); this.singleUnlimitClass.ClassID = this.userAddress.RegionID; } }
public void UpdateUserAddress(UserAddressInfo userAddress) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@id", SqlDbType.Int), new SqlParameter("@consignee", SqlDbType.NVarChar), new SqlParameter("@regionID", SqlDbType.NVarChar), new SqlParameter("@address", SqlDbType.NVarChar), new SqlParameter("@zipCode", SqlDbType.NVarChar), new SqlParameter("@tel", SqlDbType.NVarChar), new SqlParameter("@mobile", SqlDbType.NVarChar), new SqlParameter("@isDefault", SqlDbType.Int) }; pt[0].Value = userAddress.ID; pt[1].Value = userAddress.Consignee; pt[2].Value = userAddress.RegionID; pt[3].Value = userAddress.Address; pt[4].Value = userAddress.ZipCode; pt[5].Value = userAddress.Tel; pt[6].Value = userAddress.Mobile; pt[7].Value = userAddress.IsDefault; ShopMssqlHelper.ExecuteNonQuery(ShopMssqlHelper.TablePrefix + "UpdateUserAddress", pt); }
public int AddUserAddress(UserAddressInfo userAddress) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@consignee", SqlDbType.NVarChar), new SqlParameter("@regionID", SqlDbType.NVarChar), new SqlParameter("@address", SqlDbType.NVarChar), new SqlParameter("@zipCode", SqlDbType.NVarChar), new SqlParameter("@tel", SqlDbType.NVarChar), new SqlParameter("@mobile", SqlDbType.NVarChar), new SqlParameter("@isDefault", SqlDbType.Int), new SqlParameter("@userID", SqlDbType.Int), new SqlParameter("@userName", SqlDbType.NVarChar) }; pt[0].Value = userAddress.Consignee; pt[1].Value = userAddress.RegionID; pt[2].Value = userAddress.Address; pt[3].Value = userAddress.ZipCode; pt[4].Value = userAddress.Tel; pt[5].Value = userAddress.Mobile; pt[6].Value = userAddress.IsDefault; pt[7].Value = userAddress.UserID; pt[8].Value = userAddress.UserName; return(Convert.ToInt32(ShopMssqlHelper.ExecuteScalar(ShopMssqlHelper.TablePrefix + "AddUserAddress", pt))); }
private void GetUserShippingAddress(int shippingAddressId) { try { var parameter = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("@ShippingAddressId", shippingAddressId) }; var sqlH = new SQLHandler(); _userShippingAddresInfo = sqlH.ExecuteAsObject <UserAddressInfo>("usp_Aspx_mb_GetShippingAddressByAddressId", parameter); } catch (Exception ex) { throw ex; } }
private void OnChangeAddress() { string numberId = hNId.Value.Trim(); if (!string.IsNullOrEmpty(numberId)) { if (profile == null) { profile = new CustomProfileCommon(); } UserAddressInfo selectModel = profile.UserAddress.GetModel(Guid.Parse(numberId)); if (selectModel != null) { ltrHasAddress.Text = string.Format("<p>{3} {2} <br />{1} {0} </p>", selectModel.Address, selectModel.ProvinceCity.Replace("-", " "), selectModel.Mobilephone + " " + selectModel.Telephone, selectModel.Receiver); } } }
public void PrepareUserAddressModel(SqlDataReader dr, List <UserAddressInfo> userAddressList) { while (dr.Read()) { UserAddressInfo item = new UserAddressInfo(); item.ID = dr.GetInt32(0); item.Consignee = dr[1].ToString(); item.RegionID = dr[2].ToString(); item.Address = dr[3].ToString(); item.ZipCode = dr[4].ToString(); item.Tel = dr[5].ToString(); item.Mobile = dr[6].ToString(); item.IsDefault = dr.GetInt32(7); item.UserID = dr.GetInt32(8); item.UserName = dr[9].ToString(); userAddressList.Add(item); } }
public void method_2(UserAddressInfo userAddressInfo_0) { if (!this.safeDictionary_0.Contains(userAddressInfo_0.UserID)) { if (userAddressInfo_0.P2PAddress_0.PublicIP == this.string_0) { this.method_3(userAddressInfo_0.UserID, new AgileIPE(userAddressInfo_0.P2PAddress_0.PrivateIP, userAddressInfo_0.P2PAddress_0.PrivateTcpPort), true); } else { this.method_3(userAddressInfo_0.UserID, new AgileIPE(userAddressInfo_0.P2PAddress_0.PublicIP, userAddressInfo_0.P2PAddress_0.PublicTcpPort), false); if (!this.safeDictionary_0.Contains(userAddressInfo_0.UserID)) { this.method_3(userAddressInfo_0.UserID, new AgileIPE(userAddressInfo_0.P2PAddress_0.PrivateIP, userAddressInfo_0.P2PAddress_0.PrivateTcpPort), true); } } } }
/// <summary> /// 页面加载 /// </summary> protected override void PageLoad() { base.PageLoad(); userAddressList = UserAddressBLL.ReadList(base.UserId); singleUnlimitClass.DataSource = RegionBLL.ReadRegionUnlimitClass(); singleUnlimitClass.ClassID = (!string.IsNullOrEmpty(userAddress.RegionId)) ? userAddress.RegionId : "|1|"; string action = RequestHelper.GetQueryString <string>("Action"); switch (action) { case "Update": int id = RequestHelper.GetQueryString <int>("ID"); userAddress = UserAddressBLL.Read(id, base.UserId); singleUnlimitClass.ClassID = userAddress.RegionId; break; case "Delete": string deleteID = RequestHelper.GetQueryString <string>("ID"); UserAddressBLL.Delete(deleteID, base.UserId); ResponseHelper.Write("ok"); ResponseHelper.End(); break; case "Add": Add(); break; case "Read": Read(); break; case "SetDefaultAddress": int addressId = RequestHelper.GetQueryString <int>("addressId"); SetDefaultAddress(addressId); break; case "ReadAddressList": ReadAddressList(); break; default: break; } }
private void BindSelectAddress() { if (profile == null) { profile = new CustomProfileCommon(); } List <UserAddressInfo> list = profile.UserAddress.GetList(); if (list != null && list.Count > 0) { UserAddressInfo selectModel = list.Find(delegate(UserAddressInfo m) { return(m.IsDefault == true); }); if (selectModel == null) { selectModel = list.Find(delegate(UserAddressInfo m) { return(m.LastUpdatedDate == list.Max(mi => mi.LastUpdatedDate)); }); } ltrHasAddress.Text = string.Format("<p>{3} {2} <br />{1} {0} </p>", selectModel.Address, selectModel.ProvinceCity.Replace("-", " "), selectModel.Mobilephone + " " + selectModel.Telephone, selectModel.Receiver); hNId.Value = selectModel.NumberID.ToString(); } }
private void method_11(UserAddressInfo userAddressInfo_0) { if (this.class83_0 != null) { if (this.string_1 == userAddressInfo_0.P2PAddress_0.PublicIP) { if (userAddressInfo_0.P2PAddress_0 != null) { this.method_12(userAddressInfo_0.UserID, new IPEndPoint(IPAddress.Parse(userAddressInfo_0.P2PAddress_0.PrivateIP), userAddressInfo_0.P2PAddress_0.PrivateUdpPort)); } } else { if (userAddressInfo_0.P2PAddress_0.PublicUdpPort > 0) { this.method_12(userAddressInfo_0.UserID, new IPEndPoint(IPAddress.Parse(userAddressInfo_0.P2PAddress_0.PublicIP), userAddressInfo_0.P2PAddress_0.PublicUdpPort)); } this.method_12(userAddressInfo_0.UserID, new IPEndPoint(IPAddress.Parse(userAddressInfo_0.P2PAddress_0.PrivateIP), userAddressInfo_0.P2PAddress_0.PrivateUdpPort)); } } }
private void OnEditGetAddress() { string numberId = hNId.Value.Trim(); if (!string.IsNullOrEmpty(numberId)) { if (profile == null) { profile = new CustomProfileCommon(); } UserAddressInfo model = profile.UserAddress.GetModel(Guid.Parse(numberId)); if (model != null) { txtReceiver.Value = model.Receiver; txtProvinceCity.Value = model.ProvinceCity; txtAddress.Value = model.Address; txtMobilephone.Value = model.Mobilephone; txtTelephone.Value = model.Telephone; txtEmail.Value = model.Email; hOp.Value = "editAddress"; } } }
private void OnCommit() { if (Common.GetUserId() != Guid.Empty) { MessageBox.Messager(this.Page, lbtnSave, "请先登录再执行操作"); return; } string addressId = hNId.Value.Trim(); if (string.IsNullOrEmpty(addressId)) { MessageBox.Messager(this.Page, lbtnSave, "请选择收货人信息", "操作错误", "error"); return; } if (profile == null) { profile = new CustomProfileCommon(); } UserAddressInfo addressModel = profile.UserAddress.GetModel(Guid.Parse(addressId)); if (addressModel == null) { MessageBox.Messager(this.Page, lbtnSave, "不存在当前收货人信息记录,请检查", "操作错误", "error"); return; } string payOption = selectPay.InnerText.Trim(); if (string.IsNullOrEmpty(payOption)) { MessageBox.Messager(this.Page, lbtnSave, "请选择支付及配送方式", "操作错误", "error"); return; } int totalCount = profile.ShoppingCart.Count; decimal totalPrice = profile.ShoppingCart.TotalPrice; if (totalCount < 1) { MessageBox.Messager(this.Page, lbtnSave, "商品清单不存在任何商品,请检查", "操作错误", "error"); return; } string sProducts = ""; ICollection <CartItemInfo> items = profile.ShoppingCart.CartItems; foreach (CartItemInfo item in items) { sProducts += string.Format("{2},{1},{0}|", item.Subtotal, item.Quantity, item.ProductId); } sProducts = sProducts.Trim('|'); DateTime dtime = DateTime.Now; OrderInfo model = new OrderInfo(); model.OrderNum = WebHelper.CustomsHelper.CreateDateTimeString(); model.UserId = Common.GetUserId(); model.Receiver = addressModel.Receiver; model.ProviceCity = addressModel.ProvinceCity; model.Address = addressModel.Address; model.Mobilephone = addressModel.Mobilephone; model.Telephone = addressModel.Telephone; model.Email = addressModel.Email; model.Products = sProducts; model.TotalCount = totalCount; model.TotalPrice = totalPrice; model.PayOption = payOption; model.LastUpdatedDate = dtime; model.CreateDate = dtime; string errorMsg = ""; try { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = IsolationLevel.ReadUncommitted; options.Timeout = TimeSpan.FromSeconds(90); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { if (bll == null) { bll = new BLL.Order(); } if (bll.Insert(model) > 0) { profile.ShoppingCart.Clear(); profile.Save(); } //提交事务 scope.Complete(); } Response.Redirect(string.Format("AddOrderSucceed.aspx?oN={0}", HttpUtility.UrlEncode(model.OrderNum)), true); } catch (Exception ex) { errorMsg = ex.Message; } if (!string.IsNullOrEmpty(errorMsg)) { MessageBox.Messager(this.Page, lbtnSave, errorMsg, "系统异常提醒"); return; } }
private bool OnCheckForm(ref UserAddressInfo model) { #region 获取输入并验证 string sReceiver = txtReceiver.Value.Trim(); if (string.IsNullOrEmpty(sReceiver)) { MessageBox.Messager(this.Page, lbtnSave, "请您填写收货人姓名", "操作错误", "error"); return(false); } string sProvinceCity = txtProvinceCity.Value.Trim(); if (string.IsNullOrEmpty(sProvinceCity)) { MessageBox.Messager(this.Page, lbtnSave, "请选择所在地区", "操作错误", "error"); return(false); } string[] pArr = sProvinceCity.Split('-'); if (pArr.Length != 3) { MessageBox.Messager(this.Page, lbtnSave, "请正确选择所在地区中的省市区", "操作错误", "error"); return(false); } string sAddress = txtAddress.Value.Trim(); if (string.IsNullOrEmpty(sAddress)) { MessageBox.Messager(this.Page, lbtnSave, "请填写详细地址", "操作错误", "error"); return(false); } string sMobilephone = txtMobilephone.Value.Trim(); string sTelephone = txtTelephone.Value.Trim(); if (string.IsNullOrEmpty(sMobilephone) && string.IsNullOrEmpty(sTelephone)) { MessageBox.Messager(this.Page, lbtnSave, "手机或固定电话至少填写一个", "操作错误", "error"); return(false); } Regex r = null; if (!string.IsNullOrEmpty(sMobilephone)) { r = new Regex(@"^1[3|4|5|8][0-9]\d{4,8}$"); if (!r.IsMatch(sMobilephone)) { MessageBox.Messager(this.Page, lbtnSave, "请输入正确的手机号码格式", "操作错误", "error"); return(false); } } if (!string.IsNullOrEmpty(sTelephone)) { r = new Regex(@"(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}"); if (!r.IsMatch(sTelephone)) { MessageBox.Messager(this.Page, lbtnSave, "请输入正确的电话号码格式", "操作错误", "error"); return(false); } } string sEmail = txtEmail.Value.Trim(); if (!string.IsNullOrEmpty(sEmail)) { r = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); if (!r.IsMatch(sEmail)) { MessageBox.Messager(this.Page, lbtnSave, "请输入正确的电子邮箱格式", "操作错误", "error"); return(false); } } model.Receiver = sReceiver; model.ProvinceCity = sProvinceCity; model.Address = sAddress; model.Mobilephone = sMobilephone; model.Telephone = sTelephone; model.Email = sEmail; model.IsDefault = true; model.LastUpdatedDate = DateTime.Now; #endregion return(true); }
public ActionResult AddAddress() { var entity = new UserAddressInfo(); int updateId = RequestHelper.GetForm <int>("updateId"); entity.Consignee = StringHelper.AddSafe(RequestHelper.GetForm <string>("consignee")); entity.Address = StringHelper.AddSafe(RequestHelper.GetForm <string>("address")); entity.Mobile = StringHelper.AddSafe(RequestHelper.GetForm <string>("mobile")); entity.Tel = StringHelper.AddSafe(RequestHelper.GetForm <string>("tel")); entity.Email = StringHelper.AddSafe(RequestHelper.GetForm <string>("email")); entity.IsDefault = Convert.ToInt32(RequestHelper.GetForm <bool>("isdefault")); if (entity.IsDefault > 0) { UserAddressBLL.SetDefault(entity.Id, uid); } SingleUnlimitClass unlimitClass = new SingleUnlimitClass(); entity.RegionId = unlimitClass.ClassID; if (string.IsNullOrEmpty(entity.Consignee)) { return(Content("请填写收货人")); } var region = StringHelper.AddSafe(RequestHelper.GetForm <string>("region")); if (!string.IsNullOrEmpty(region)) { string[] regarr = region.Split(','); if (regarr.Length < 3) { return(Content("请填写完整的地区信息")); } else { string province = regarr[0]; string city = regarr[1]; string town = regarr[2]; if (!string.IsNullOrEmpty(town)) { entity.RegionId = RegionBLL.ReadRegionIdList(province, city, town); } else { entity.RegionId = RegionBLL.ReadRegionIdList(city); } } } else { return(Content("请填写完整的地区信息")); } if (string.IsNullOrEmpty(entity.Address)) { return(Content("请填写详细地址")); } if (string.IsNullOrEmpty(entity.Mobile)) { return(Content("手机号码不能为空")); } entity.UserId = user.Id; entity.UserName = user.UserName; string msg = "添加成功"; if (updateId > 0) { entity.Id = updateId; UserAddressBLL.Update(entity); msg = "修改成功"; } else { updateId = UserAddressBLL.Add(entity); } return(Json(new { flag = true, msg = msg, id = updateId })); }
private void Submit() { /*-----------重新验证选择的商品------------------------------------------*/ checkCart = StringHelper.AddSafe(RequestHelper.GetForm <string>("CheckCart")); int[] cartIds = Array.ConvertAll <string, int>(checkCart.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), k => Convert.ToInt32(k)); string checkCartCookies = HttpUtility.UrlDecode(CookiesHelper.ReadCookieValue("CheckCart")); if (checkCart != checkCartCookies) { ResponseHelper.Write("error|购买商品发生了变化,请重新提交|" + isMobile + "/cart.html"); ResponseHelper.End(); } if (string.IsNullOrEmpty(checkCart) || cartIds.Length < 1) { ResponseHelper.Write("error|请选择需要购买的商品|" + isMobile + "/cart.html"); ResponseHelper.End(); } /*----------------------------------------------------------------------*/ /*-----------读取购物车清单---------------------------------------------*/ List <CartInfo> cartList = CartBLL.ReadList(base.UserId); cartList = cartList.Where(k => cartIds.Contains(k.Id)).ToList(); if (cartList.Count <= 0) { ResponseHelper.Write("error|请选择需要购买的商品|" + isMobile + "/cart.html"); ResponseHelper.End(); } /*----------------------------------------------------------------------*/ /*-----------必要性检查:收货地址,配送方式,支付方式-------------------*/ var address = new UserAddressInfo { Id = RequestHelper.GetForm <int>("address_id") }; var shipping = new ShippingInfo { Id = RequestHelper.GetForm <int>("ShippingId") }; var pay = new PayPluginsInfo { Key = StringHelper.AddSafe(RequestHelper.GetForm <string>("pay")) }; bool reNecessaryCheck = false; doReNecessaryCheck: if (address.Id < 1) { ResponseHelper.Write("error|请选择收货地址|"); ResponseHelper.End(); } if (shipping.Id < 1) { ResponseHelper.Write("error|请选择配送方式|"); ResponseHelper.End(); } if (string.IsNullOrEmpty(pay.Key)) { ResponseHelper.Write("error|请选择支付方式|"); ResponseHelper.End(); } //读取数据库中的数据,进行重复验证 if (!reNecessaryCheck) { address = UserAddressBLL.Read(address.Id, base.UserId); shipping = ShippingBLL.Read(shipping.Id); pay = PayPlugins.ReadPayPlugins(pay.Key); reNecessaryCheck = true; goto doReNecessaryCheck; } /*----------------------------------------------------------------------*/ /*-----------商品清单、商品总价、邮费价格、库存检查---------------------*/ decimal productMoney = 0; int count = 0; int[] ids = cartList.Select(k => k.ProductId).ToArray(); var products = ProductBLL.SearchList(1, ids.Length, new ProductSearchInfo { InProductId = string.Join(",", ids) }, ref count); foreach (var cart in cartList) { cart.Product = products.FirstOrDefault(k => k.Id == cart.ProductId) ?? new ProductInfo(); if (!string.IsNullOrEmpty(cart.StandardValueList)) { //使用规格的价格和库存 var standardRecord = ProductTypeStandardRecordBLL.Read(cart.ProductId, cart.StandardValueList); cart.Price = standardRecord.SalePrice; cart.LeftStorageCount = standardRecord.Storage - standardRecord.OrderCount; } else { cart.Price = cart.Product.SalePrice; cart.LeftStorageCount = cart.Product.TotalStorageCount - cart.Product.OrderCount; } //不需要检查库存,所有商品均可购买 ////检查库存 //if (cart.BuyCount > cart.LeftStorageCount) //{ // ResponseHelper.Write("error|商品[" + cart.ProductName + "]库存不足,无法购买|"); // ResponseHelper.End(); //} productMoney += cart.BuyCount * cart.Price; } decimal shippingMoney = 0; //首先根据ShopId分组,根据供应商的不同来分别计算运费 //然后将分拆后的供应商商品,按单个商品独立计算运费(相同商品购买多个则叠加计算) ShippingRegionInfo shippingRegion = ShippingRegionBLL.SearchShippingRegion(shipping.Id, address.RegionId); var shopIds = cartList.GroupBy(k => k.Product.ShopId).Select(k => k.Key).ToList(); foreach (var shopId in shopIds) { var shopCartList = cartList.Where(k => k.Product.ShopId == shopId).ToList(); foreach (var shopCartSplit in shopCartList) { shippingMoney += ShippingRegionBLL.ReadShippingMoney(shipping, shippingRegion, shopCartSplit); } } /*----------------------------------------------------------------------*/ int point = 0; decimal pointMoney = 0; /*-----------计算积分金额(不可使用积分)----------------------------------- * decimal totalRate = (decimal)ShopConfig.ReadConfigInfo().BuyPointTotalRate; * decimal pointRate = (decimal)ShopConfig.ReadConfigInfo().BuyPointMoneyRate; * int point = RequestHelper.GetForm<int>("point"); * decimal pointMoney = 0; * if (totalRate > 0 && pointRate > 0 && point > 0) * { * var member = WebService.Member.GetMember(); * decimal leftPoint = member.Point; * if (point > leftPoint) * { * ResponseHelper.Write("error|您的积分不足|"); * ResponseHelper.End(); * } * else * { * pointMoney = Math.Round(point / pointRate, 2); * * if (pointMoney > productMoney * totalRate) * { * ResponseHelper.Write("error|" + "您最多可以使用 " + (productMoney * totalRate * pointRate) + " 积分|"); * ResponseHelper.End(); * } * } * } * ------------------------------------------------------------------------*/ /*-----------应付总价---------------------------------------------------*/ //decimal payMoney = productMoney + shippingMoney - pointMoney; decimal payMoney = productMoney + shippingMoney; /*----------------------------------------------------------------------*/ var user = UserBLL.Read(base.UserId); /*-----------计算图楼卡余额---------------------------------------------*/ decimal balance = RequestHelper.GetForm <decimal>("money"); if (balance > 0) { bool isSuccess; string msg; isSuccess = true; msg = ""; //var account = WebService.Account.GetAccount(user.CardNo, user.CardPwd, out isSuccess, out msg); if (!isSuccess) { ResponseHelper.Write("error|" + msg + "|"); ResponseHelper.End(); } if (balance > 0 /*(account.Zacc + account.Sacc)*/) { ResponseHelper.Write("error|您的图楼卡余额不足|"); ResponseHelper.End(); } else { if (balance > payMoney) { ResponseHelper.Write("error|" + "您只需使用 " + payMoney + " 元即可支付订单|"); ResponseHelper.End(); } } } payMoney -= balance; /*----------------------------------------------------------------------*/ /*-----------检查金额---------------------------------------------------*/ if (payMoney < 0) { ResponseHelper.Write("error|金额有错误,请重新检查|"); ResponseHelper.End(); } /*----------------------------------------------------------------------*/ /*-----------组装基础订单模型,循环生成订单-----------------------------*/ OrderInfo order = new OrderInfo(); order.ProductMoney = productMoney; order.Consignee = address.Consignee; order.RegionId = address.RegionId; order.Address = address.Address; order.ZipCode = address.ZipCode; order.Tel = address.Tel; order.Mobile = address.Mobile; order.Email = CookiesHelper.ReadCookieValue("UserEmail"); order.ShippingId = shipping.Id; order.ShippingDate = RequestHelper.DateNow; order.ShippingMoney = shippingMoney; order.Point = point; order.PointMoney = pointMoney; order.Balance = balance; order.PayKey = pay.Key; order.PayName = pay.Name; order.PayDate = RequestHelper.DateNow; order.IsRefund = (int)BoolType.False; order.UserMessage = StringHelper.AddSafe(RequestHelper.GetForm <string>("msg")); order.AddDate = RequestHelper.DateNow; order.IP = ClientHelper.IP; order.UserId = base.UserId; order.UserName = base.UserName; //循环生成订单 var orderIds = SplitShopProduct(cartList, order); /*----------------------------------------------------------------------*/ var orders = OrderBLL.ReadList(orderIds.ToArray(), base.UserId); /*-----------如果使用了图楼卡支付,需同步到会员管理系统中---------------*/ /*第二步,在订单付款操作(用户端)中,同步图楼卡余额*/ if (balance > 0) { List <string[]> paras = new List <string[]>(); foreach (var oo in orders) { if (oo.Balance > 0 && oo.OrderStatus == (int)OrderStatus.WaitCheck) { string[] para = new string[2]; para[0] = oo.OrderNumber; para[1] = oo.Balance.ToString(); paras.Add(para); } } //如果有全额使用了图楼卡余额支付的订单,需同步到会员管理系统中 if (paras.Count > 0) { bool isSuccess; string msg; isSuccess = true; msg = ""; //WebService.Account.Purchase(user.CardNo, user.CardPwd, paras, out isSuccess, out msg); //同步失败,删除订单及相关信息 if (!isSuccess) { //删除订单、订单详细、订单状态相关数据 OrderBLL.Delete(orderIds.ToArray(), base.UserId); //更改产品库存订单数量 foreach (var orderId in orderIds) { ProductBLL.ChangeOrderCountByOrder(orderId, ChangeAction.Minus); } ResponseHelper.Write("error|" + msg + "|"); ResponseHelper.End(); } else { //记录用户余额消费记录 foreach (var par in paras) { var accountRecord = new UserAccountRecordInfo { RecordType = (int)AccountRecordType.Money, Money = -decimal.Parse(par[1]), Point = 0, Date = DateTime.Now, IP = ClientHelper.IP, Note = "支付订单:" + par[0], UserId = base.UserId, UserName = base.UserName }; UserAccountRecordBLL.Add(accountRecord); } } } } /*----------------------------------------------------------------------*/ /*-----------删除购物车中已下单的商品-----------------------------------*/ CartBLL.Delete(cartIds, base.UserId); CookiesHelper.DeleteCookie("CheckCart"); /*----------------------------------------------------------------------*/ /*如果所有订单均由图楼卡支付完成,则跳转到会员中心,否则跳转到支付提示页面*/ if (orders.Count(k => k.OrderStatus == (int)OrderStatus.WaitPay) > 0) { ResponseHelper.Write("ok||/finish.html?id=" + string.Join(",", orders.Select(k => k.Id).ToArray())); } else { ResponseHelper.Write("ok||/user/index.html"); } ResponseHelper.End(); /*----------------------------------------------------------------------*/ }
public static void Update(UserAddressInfo entity) { dal.Update(entity); }
private void Add() { var entity = new UserAddressInfo(); int updateId = RequestHelper.GetForm <int>("updateId"); entity.Consignee = StringHelper.AddSafe(RequestHelper.GetForm <string>("consignee")); entity.Address = StringHelper.AddSafe(RequestHelper.GetForm <string>("address")); entity.Mobile = StringHelper.AddSafe(RequestHelper.GetForm <string>("mobile")); entity.Tel = StringHelper.AddSafe(RequestHelper.GetForm <string>("tel")); entity.Email = StringHelper.AddSafe(RequestHelper.GetForm <string>("email")); entity.IsDefault = RequestHelper.GetForm <int>("isdefault"); SingleUnlimitClass unlimitClass = new SingleUnlimitClass(); entity.RegionId = unlimitClass.ClassID; dynamic dymic = new System.Dynamic.ExpandoObject(); dymic.result = "error"; if (string.IsNullOrEmpty(entity.Consignee)) { dymic.msg = "请填写收货人"; ResponseHelper.Write(Newtonsoft.Json.JsonConvert.SerializeObject(dymic)); ResponseHelper.End(); } if (entity.RegionId.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Length < 3) { dymic.msg = "请填写完整的地区信息"; ResponseHelper.Write(Newtonsoft.Json.JsonConvert.SerializeObject(dymic)); ResponseHelper.End(); } if (string.IsNullOrEmpty(entity.Address)) { dymic.msg = "请填写详细地址"; ResponseHelper.Write(Newtonsoft.Json.JsonConvert.SerializeObject(dymic)); ResponseHelper.End(); } if (string.IsNullOrEmpty(entity.Mobile) && string.IsNullOrEmpty(entity.Tel)) { dymic.msg = "手机号码或固定电话至少填写一个"; ResponseHelper.Write(Newtonsoft.Json.JsonConvert.SerializeObject(dymic)); ResponseHelper.End(); } entity.UserId = base.UserId; entity.UserName = base.UserName; if (updateId > 0) { entity.Id = updateId; UserAddressBLL.Update(entity); } else { updateId = UserAddressBLL.Add(entity); } dymic.result = "ok"; dymic.id = updateId; dymic.consignee = entity.Consignee; dymic.address = RegionBLL.RegionNameList(entity.RegionId) + " " + entity.Address; dymic.mobile = entity.Mobile; dymic.tel = entity.Tel; ResponseHelper.Write(Newtonsoft.Json.JsonConvert.SerializeObject(dymic)); ResponseHelper.End(); }