public bool Delete()
        {
            BeginTransaction();
            Tnet_Shipping_Address daAddress = new Tnet_Shipping_Address();

            daAddress.ReferenceTransactionFrom(Transaction);
            if (!daAddress.SelectByPk(_address_id) || daAddress.Is_Del == 1)
            {
                Rollback();
                Alert("指定的收货地址不存在或已删除");
                return(false);
            }
            if (daAddress.Owner_Id != _userId)
            {
                Rollback();
                Alert("操作不允许");
                return(false);
            }
            daAddress.Is_Del = 1;
            if (!daAddress.Update())
            {
                Rollback();
                Alert("删除收货地址失败");
                return(false);
            }
            Commit();
            return(true);
        }
        public bool Create()
        {
            BeginTransaction();
            Tnet_Consignee daConsignee = new Tnet_Consignee();

            daConsignee.ReferenceTransactionFrom(Transaction);
            daConsignee.Address        = _address.Address;
            daConsignee.Consignee_Name = _address.Consignee_Name;
            daConsignee.Mobile_No      = _address.Mobile_No;
            daConsignee.Post_Code      = _address.Post_Code;
            daConsignee.Region_Id      = _address.Region_Id;
            if (!daConsignee.Insert())
            {
                Rollback();
                Alert("添加收货人信息失败");
                return(false);
            }

            Tnet_Shipping_Address daShipping = new Tnet_Shipping_Address();

            daShipping.ReferenceTransactionFrom(Transaction);
            daShipping.Consignee_Id = daConsignee.Consignee_Id;
            daShipping.Is_Default   = 0;
            daShipping.Is_Del       = 0;
            daShipping.Owner_Id     = _address.User_Id;
            daShipping.Owner_Type   = 1;
            daShipping.Tag_Name     = _address.Tag_Name;
            if (!daShipping.Insert())
            {
                Rollback();
                Alert("新建收货地址失败");
                return(false);
            }
            //update object property to lastest value
            _address.Address_Id   = daShipping.Address_Id;
            _address.Consignee_Id = daConsignee.Consignee_Id;
            if (_address.Is_Default == 1)
            {
                ConsigneeUpdateProvider updateProvider = new ConsigneeUpdateProvider(_address);
                updateProvider.ReferenceTransactionFrom(Transaction);
                if (!updateProvider.SetDefault())
                {
                    Rollback();
                    Alert(updateProvider.PromptInfo);
                    return(false);
                }
            }
            Commit();
            return(true);
        }
        /// <summary>
        /// 将收货地址设置为默认
        /// </summary>
        /// <param name="remarks"></param>
        /// <returns></returns>
        public bool SetDefault(string remarks = null)
        {
            BeginTransaction();
            //set the specific address to default address
            Tnet_Shipping_Address daAddress = new Tnet_Shipping_Address();

            daAddress.ReferenceTransactionFrom(Transaction);
            if (!daAddress.SelectByPk(_addressId))
            {
                Rollback();
                Alert("收货地址不存在");
                return(false);
            }
            //first of all, set all address default property to false
            Tnet_Shipping_AddressCollection daShippingUpdate = new Tnet_Shipping_AddressCollection();

            daShippingUpdate.ReferenceTransactionFrom(Transaction);
            if (!daShippingUpdate.ListDefaultAddress(daAddress.Owner_Id, (Address_Owner_Type)daAddress.Owner_Type))
            {
                Rollback();
                Alert("系统异常");
                return(false);
            }
            int rowCount = daShippingUpdate.Count;

            if (rowCount > 0)
            {
                if (!daShippingUpdate.UpdateAllAddressNotDefault(daAddress.Owner_Id, (Address_Owner_Type)daAddress.Owner_Type, rowCount))
                {
                    Rollback();
                    Alert("更新默认地址失败");
                    return(false);
                }
            }
            if (!daAddress.SetDefault(_addressId))
            {
                Rollback();
                Alert("设置默认地址失败");
                return(false);
            }
            Commit();
            return(true);
        }
        /// <summary>
        /// 执行删除操作,除非forceDelete=true,否则只是将is_del字段置为1
        /// </summary>
        /// <returns></returns>
        public bool Delete()
        {
            BeginTransaction();
            Tnet_Shipping_Address daAddress = new Tnet_Shipping_Address();

            daAddress.ReferenceTransactionFrom(Transaction);
            if (!daAddress.SelectByPk(_address_id))
            {
                Rollback();
                Alert("指定的收货地址不存在或已删除");
                return(false);
            }
            if (_forceDelete)
            {
                if (!daAddress.Delete())
                {
                    Rollback();
                    Alert("删除收货地址失败[force]");
                    return(false);
                }
            }
            else
            {
                if (daAddress.Is_Del == 1)
                {
                    Commit();
                    return(true);
                }
                daAddress.Is_Del = 1;
                if (!daAddress.Update())
                {
                    Rollback();
                    Alert("删除收货地址失败");
                    return(false);
                }
            }
            Commit();
            ShippingAddress address = MapProvider.Map <ShippingAddress>(daAddress.DataRow);

            OnSuccess(address);
            return(true);
        }
Exemple #5
0
 public bool SetDefault()
 {
     BeginTransaction();
     //first of all, set all address default property to false
     Tnet_Shipping_AddressCollection daShippingUpdate = new Tnet_Shipping_AddressCollection();
     daShippingUpdate.ReferenceTransactionFrom(Transaction);
     if (!daShippingUpdate.ListDefaultAddress(_address.User_Id, Address_Owner_Type.个人用户))
     {
         Rollback();
         Alert("系统异常");
         return false;
     }
     int rowCount = daShippingUpdate.Count;
     if (rowCount > 0)
     {
         if (!daShippingUpdate.UpdateAllAddressNotDefault(_address.User_Id, Address_Owner_Type.个人用户, rowCount))
         {
             Rollback();
             Alert("更新默认地址失败");
             return false;
         }
     }
     //set the specific address to default address
     Tnet_Shipping_Address daAddress = new Tnet_Shipping_Address();
     daAddress.ReferenceTransactionFrom(Transaction);
     daAddress.Is_Default = 1;
     daAddress.Address_Id = _address.Address_Id;
     if (daAddress.Update())
     {
         Rollback();
         Alert("设置默认地址失败");
         return false;
     }
     Commit();
     return true;
 }
        /// <summary>
        /// 执行更新操作
        /// </summary>
        /// <returns></returns>
        public bool Update()
        {
            if (_address == null)
            {
                Alert("收货地址信息不能为空");
                return(false);
            }
            if (_address.Consignee == null)
            {
                _address.Consignee = new ConsigneeInfo();
            }
            var vres0 = ModelVerify.Verify(_address, "update");

            if (!vres0.IsSuccess)
            {
                Alert(vres0.Verifys.FirstOrDefault().ErrorMessage);
                return(false);
            }
            int addressId = _address.Address_Id;
            Tnet_Shipping_Address daShippingAddress = new Tnet_Shipping_Address();

            if (!daShippingAddress.SelectByPk(addressId))
            {
                Alert("收货地址信息不存在");
                return(false);
            }
            if (_address.Owner_Id > 0 && daShippingAddress.Owner_Id != _address.Owner_Id)
            {
                Alert("操作不允许");
                return(false);
            }
            _address.Owner_Id   = daShippingAddress.Owner_Id;
            _address.Owner_Type = (Address_Owner_Type)daShippingAddress.Owner_Type;
            Tnet_Consignee daConsignee = new Tnet_Consignee();

            if (!daConsignee.SelectByPk(daShippingAddress.Consignee_Id))
            {
                Alert("收件人信息有误");
                return(false);
            }
            //如果收货人信息传入null,表示不需要修改此项,则将已有的收货人信息写入 _address.Consignee
            Extend(_address.Consignee, daConsignee);
            var oldAddressId = _address.Address_Id;

            BeginTransaction();
            ConsigneeCreationProvider creationProvider = new ConsigneeCreationProvider(_address);

            creationProvider.ReferenceTransactionFrom(Transaction);
            if (!creationProvider.Create())
            {
                Rollback();
                Alert("更新收货地址失败,请重试!");
                return(false);
            }

            this._address = creationProvider.ShippingAddress;//new shipping address

            Commit();
            OnSuccess(this._address);
            return(true);
        }
Exemple #7
0
        /// <summary>
        /// 执行创建收货地址操作
        /// </summary>
        /// <returns></returns>
        public bool Create()
        {
            if (_address == null || _address.Consignee == null)
            {
                Alert("收货地址信息不能为空");
                return(false);
            }
            var vres0 = Winner.Framework.Utils.ModelVerify.Verify(_address, "create");

            if (!vres0.IsSuccess)
            {
                Alert(vres0.Verifys.FirstOrDefault().ErrorMessage);
                return(false);
            }
            var vres1 = Winner.Framework.Utils.ModelVerify.Verify(_address.Consignee, "create");

            if (!vres1.IsSuccess)
            {
                Alert(vres1.Verifys.FirstOrDefault().ErrorMessage);
                return(false);
            }
            if (!CheckOwner())
            {
                return(false);
            }
            BeginTransaction();
            Tnet_Consignee daConsignee = new Tnet_Consignee();

            daConsignee.ReferenceTransactionFrom(Transaction);
            if (!daConsignee.SelectByRid_Address_PostCode_Name_Mobile(
                    _address.Consignee.Region_Id,
                    _address.Consignee.Address,
                    _address.Consignee.Consignee_Name,
                    _address.Consignee.Mobile_No,
                    _address.Consignee.Post_Code))
            {
                daConsignee.Address        = _address.Consignee.Address;
                daConsignee.Consignee_Name = _address.Consignee.Consignee_Name;
                daConsignee.Mobile_No      = _address.Consignee.Mobile_No;
                daConsignee.Post_Code      = _address.Consignee.Post_Code;
                daConsignee.Region_Id      = _address.Consignee.Region_Id;
                if (!daConsignee.Insert())
                {
                    Rollback();
                    Alert("添加收货人信息失败");
                    return(false);
                }
            }
            Tnet_Shipping_Address daShipping = new Tnet_Shipping_Address();

            daShipping.ReferenceTransactionFrom(Transaction);
            if (_address.Address_Id > 0)
            {
                if (!daShipping.SelectByPk(_address.Address_Id))
                {
                    Rollback();
                    Alert("修改的收货地址信息不存在");
                    return(false);
                }
            }
            daShipping.Consignee_Id = daConsignee.Consignee_Id;
            daShipping.Is_Default   = 0;
            daShipping.Is_Del       = 0;
            daShipping.Owner_Id     = _address.Owner_Id;
            daShipping.Owner_Type   = (int)_address.Owner_Type;
            daShipping.Tag_Name     = _address.Tag_Name;
            if (_address.Address_Id <= 0)
            {
                if (!daShipping.Insert())
                {
                    Rollback();
                    Alert("新建收货地址失败");
                    return(false);
                }
            }
            else
            {
                daShipping.Address_Id = _address.Address_Id;
                if (!daShipping.Update())
                {
                    Rollback();
                    Alert("新建收货地址失败");
                    return(false);
                }
            }
            //update object property to lastest value
            _address.Address_Id             = daShipping.Address_Id;
            _address.Consignee.Consignee_Id = daConsignee.Consignee_Id;
            if (_address.Is_Default == 1)
            {
                var updateProvider = new ConsigneeDefaultProvider(daShipping.Address_Id);
                updateProvider.ReferenceTransactionFrom(Transaction);
                if (!updateProvider.SetDefault())
                {
                    Rollback();
                    Alert(updateProvider.PromptInfo);
                    return(false);
                }
            }
            Commit();
            OnSuccess();
            return(true);
        }