Exemple #1
0
        /// <summary>
        /// 获得用户配送地址
        /// </summary>
        /// <param name="uid">用户id</param>
        /// <param name="saId">配送地址id</param>
        /// <returns></returns>
        public static ShipAddressInfo GetShipAddressBySAId(int uid, int saId)
        {
            ShipAddressInfo shipAddressInfo = null;

            if (_usernosql != null)
            {
                foreach (FullShipAddressInfo tempFullShipAddressInfo in GetFullShipAddressList(uid))
                {
                    if (tempFullShipAddressInfo.SAId == saId)
                    {
                        shipAddressInfo = tempFullShipAddressInfo;
                        break;
                    }
                }
            }
            else
            {
                IDataReader reader = BrnMall.Core.BMAData.RDBS.GetShipAddressBySAId(saId);
                if (reader.Read())
                {
                    shipAddressInfo = BuildShipAddressFromReader(reader);
                }
                reader.Close();
            }

            return(shipAddressInfo);
        }
Exemple #2
0
 /// <summary>
 /// 更新用户配送地址
 /// </summary>
 public static void UpdateShipAddress(ShipAddressInfo shipAddressInfo)
 {
     BrnMall.Core.BMAData.RDBS.UpdateShipAddress(shipAddressInfo);
     if (_usernosql != null)
     {
         _usernosql.DeleteFullShipAddressList(shipAddressInfo.Uid);
     }
 }
Exemple #3
0
        /// <summary>
        /// 创建用户配送地址
        /// </summary>
        public static int CreateShipAddress(ShipAddressInfo shipAddressInfo)
        {
            int saId = BrnMall.Core.BMAData.RDBS.CreateShipAddress(shipAddressInfo);

            if (_usernosql != null)
            {
                _usernosql.DeleteFullShipAddressList(shipAddressInfo.Uid);
            }
            return(saId);
        }
Exemple #4
0
        /// <summary>
        /// 添加配送地址
        /// </summary>
        public ActionResult AddShipAddress()
        {
            if (WebHelper.IsGet())
            {
                ShipAddressModel model = new ShipAddressModel();
                return(View(model));
            }
            else
            {
                int    regionId  = WebHelper.GetFormInt("regionId");
                string alias     = WebHelper.GetFormString("alias");
                string consignee = WebHelper.GetFormString("consignee");
                string mobile    = WebHelper.GetFormString("mobile");
                string phone     = WebHelper.GetFormString("phone");
                string email     = WebHelper.GetFormString("email");
                string zipcode   = WebHelper.GetFormString("zipcode");
                string address   = WebHelper.GetFormString("address");
                int    isDefault = WebHelper.GetFormInt("isDefault");

                string verifyResult = VerifyShipAddress(regionId, alias, consignee, mobile, phone, email, zipcode, address);

                if (verifyResult.Length == 0)
                {
                    //检查配送地址数量是否达到系统所允许的最大值
                    int shipAddressCount = ShipAddresses.GetShipAddressCount(WorkContext.Uid);
                    if (shipAddressCount >= WorkContext.ShopConfig.MaxShipAddress)
                    {
                        return(AjaxResult("full", "配送地址的数量已经达到系统所允许的最大值"));
                    }

                    ShipAddressInfo shipAddressInfo = new ShipAddressInfo();
                    shipAddressInfo.Uid       = WorkContext.Uid;
                    shipAddressInfo.RegionId  = regionId;
                    shipAddressInfo.IsDefault = isDefault == 0 ? 0 : 1;
                    shipAddressInfo.Alias     = WebHelper.HtmlEncode(alias);
                    shipAddressInfo.Consignee = WebHelper.HtmlEncode(consignee);
                    shipAddressInfo.Mobile    = mobile;
                    shipAddressInfo.Phone     = phone;
                    shipAddressInfo.Email     = email;
                    shipAddressInfo.ZipCode   = zipcode;
                    shipAddressInfo.Address   = WebHelper.HtmlEncode(address);
                    int saId = ShipAddresses.CreateShipAddress(shipAddressInfo);
                    return(AjaxResult("success", saId.ToString()));
                }
                else
                {
                    return(AjaxResult("error", verifyResult, true));
                }
            }
        }
Exemple #5
0
        private static IUserNOSQLStrategy _usernosql = BMAData.UserNOSQL;//用户非关系型数据库

        #region 辅助方法

        /// <summary>
        /// 构建用户配送地址信息
        /// </summary>
        public static ShipAddressInfo BuildShipAddressFromReader(IDataReader reader)
        {
            ShipAddressInfo shipAddressInfo = new ShipAddressInfo();

            shipAddressInfo.SAId      = TypeHelper.ObjectToInt(reader["said"]);
            shipAddressInfo.Uid       = TypeHelper.ObjectToInt(reader["uid"]);
            shipAddressInfo.RegionId  = TypeHelper.ObjectToInt(reader["regionid"]);
            shipAddressInfo.IsDefault = TypeHelper.ObjectToInt(reader["isdefault"]);
            shipAddressInfo.Alias     = reader["alias"].ToString();
            shipAddressInfo.Consignee = reader["consignee"].ToString();
            shipAddressInfo.Phone     = reader["phone"].ToString();
            shipAddressInfo.Mobile    = reader["mobile"].ToString();
            shipAddressInfo.Email     = reader["email"].ToString();
            shipAddressInfo.ZipCode   = reader["zipcode"].ToString();
            shipAddressInfo.Address   = reader["address"].ToString();

            return(shipAddressInfo);
        }
Exemple #6
0
        /// <summary>
        /// 获得用户配送地址
        /// </summary>
        /// <param name="saId">配送地址id</param>
        /// <param name="uid">用户id</param>
        /// <returns></returns>
        public static ShipAddressInfo GetShipAddressBySAId(int saId, int uid)
        {
            if (saId < 1)
            {
                return(null);
            }

            ShipAddressInfo shipAddressInfo = BrnShop.Data.ShipAddresses.GetShipAddressBySAId(uid, saId);

            if (shipAddressInfo == null || shipAddressInfo.Uid != uid)
            {
                return(null);
            }
            else
            {
                return(shipAddressInfo);
            }
        }
Exemple #7
0
 /// <summary>
 /// 更新用户配送地址
 /// </summary>
 public static void UpdateShipAddress(ShipAddressInfo shipAddressInfo)
 {
     BrnShop.Data.ShipAddresses.UpdateShipAddress(shipAddressInfo);
 }
Exemple #8
0
 /// <summary>
 /// 创建用户配送地址
 /// </summary>
 public static int CreateShipAddress(ShipAddressInfo shipAddressInfo)
 {
     return(BrnShop.Data.ShipAddresses.CreateShipAddress(shipAddressInfo));
 }
Exemple #9
0
        /// <summary>
        /// 编辑配送地址
        /// </summary>
        public ActionResult EditShipAddress()
        {
            if (WebHelper.IsGet())
            {
                int saId = WebHelper.GetQueryInt("saId");
                FullShipAddressInfo fullShipAddressInfo = ShipAddresses.GetFullShipAddressBySAId(saId, WorkContext.Uid);
                if (fullShipAddressInfo == null)
                {
                    return(PromptView(Url.Action("shipaddresslist"), "地址不存在"));
                }

                ShipAddressModel model = new ShipAddressModel();
                model.Alias      = fullShipAddressInfo.Alias;
                model.Consignee  = fullShipAddressInfo.Consignee;
                model.Mobile     = fullShipAddressInfo.Mobile;
                model.Phone      = fullShipAddressInfo.Phone;
                model.Email      = fullShipAddressInfo.Email;
                model.ZipCode    = fullShipAddressInfo.ZipCode;
                model.ProvinceId = fullShipAddressInfo.ProvinceId;
                model.CityId     = fullShipAddressInfo.CityId;
                model.RegionId   = fullShipAddressInfo.RegionId;
                model.Address    = fullShipAddressInfo.Address;
                model.IsDefault  = fullShipAddressInfo.IsDefault;

                return(View(model));
            }
            else
            {
                int    saId      = WebHelper.GetQueryInt("saId");
                int    regionId  = WebHelper.GetFormInt("regionId");
                string alias     = WebHelper.GetFormString("alias");
                string consignee = WebHelper.GetFormString("consignee");
                string mobile    = WebHelper.GetFormString("mobile");
                string phone     = WebHelper.GetFormString("phone");
                string email     = WebHelper.GetFormString("email");
                string zipcode   = WebHelper.GetFormString("zipcode");
                string address   = WebHelper.GetFormString("address");
                int    isDefault = WebHelper.GetFormInt("isDefault");

                string verifyResult = VerifyShipAddress(regionId, alias, consignee, mobile, phone, email, zipcode, address);
                if (verifyResult.Length == 0)
                {
                    ShipAddressInfo shipAddressInfo = ShipAddresses.GetShipAddressBySAId(saId, WorkContext.Uid);
                    //检查地址
                    if (shipAddressInfo == null)
                    {
                        return(AjaxResult("noexist", "配送地址不存在"));
                    }

                    shipAddressInfo.Uid       = WorkContext.Uid;
                    shipAddressInfo.RegionId  = regionId;
                    shipAddressInfo.IsDefault = isDefault == 0 ? 0 : 1;
                    shipAddressInfo.Alias     = WebHelper.HtmlEncode(alias);
                    shipAddressInfo.Consignee = WebHelper.HtmlEncode(consignee);
                    shipAddressInfo.Mobile    = mobile;
                    shipAddressInfo.Phone     = phone;
                    shipAddressInfo.Email     = email;
                    shipAddressInfo.ZipCode   = zipcode;
                    shipAddressInfo.Address   = WebHelper.HtmlEncode(address);
                    ShipAddresses.UpdateShipAddress(shipAddressInfo);
                    return(AjaxResult("success", "编辑成功"));
                }
                else
                {
                    return(AjaxResult("error", verifyResult, true));
                }
            }
        }
Exemple #10
0
 /// <summary>
 /// 更新用户配送地址
 /// </summary>
 public static void UpdateShipAddress(ShipAddressInfo shipAddressInfo)
 {
     NStore.Data.ShipAddresses.UpdateShipAddress(shipAddressInfo);
 }
Exemple #11
0
 /// <summary>
 /// 创建用户配送地址
 /// </summary>
 public static int CreateShipAddress(ShipAddressInfo shipAddressInfo)
 {
     return(NStore.Data.ShipAddresses.CreateShipAddress(shipAddressInfo));
 }