示例#1
0
        /// <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;
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
 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);
     }
 }
示例#4
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);
        }
示例#5
0
        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";
                }
            }
        }
示例#6
0
        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();
        }
示例#7
0
        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);
        }
示例#8
0
        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;
                }
            }
        }
示例#9
0
        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);
        }
示例#10
0
        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());
            }
        }
示例#11
0
        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);
            }
        }
示例#12
0
        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 = "收货地址";
        }
示例#13
0
        /// <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;
            }
        }
示例#14
0
        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;
            }
        }
示例#15
0
 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);
 }
示例#16
0
 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)));
 }
示例#17
0
 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;
     }
 }
示例#18
0
        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} &nbsp; {2} &nbsp;  &nbsp; <br />{1} &nbsp; {0} </p>", selectModel.Address, selectModel.ProvinceCity.Replace("-", " "), selectModel.Mobilephone + " " + selectModel.Telephone, selectModel.Receiver);
                }
            }
        }
示例#19
0
 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);
     }
 }
示例#20
0
 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);
             }
         }
     }
 }
示例#21
0
        /// <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;
            }
        }
示例#22
0
        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} &nbsp; {2} &nbsp;  &nbsp; <br />{1} &nbsp; {0} </p>", selectModel.Address, selectModel.ProvinceCity.Replace("-", " "), selectModel.Mobilephone + " " + selectModel.Telephone, selectModel.Receiver);
                hNId.Value         = selectModel.NumberID.ToString();
            }
        }
示例#23
0
 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));
         }
     }
 }
示例#24
0
        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";
                }
            }
        }
示例#25
0
        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;
            }
        }
示例#26
0
        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);
        }
示例#27
0
        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 }));
        }
示例#28
0
        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();
            /*----------------------------------------------------------------------*/
        }
示例#29
0
 public static void Update(UserAddressInfo entity)
 {
     dal.Update(entity);
 }
示例#30
0
        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();
        }