Example #1
0
 public bool Update()
 {
     int cid = _address.Consignee_Id;
     Tnet_Consignee daConsignee = new Tnet_Consignee();
     if (!daConsignee.SelectByPk(cid))
     {
         Alert("指定修改的收货人信息不存在");
         return false;
     }
     BeginTransaction();
     ConsigneeCreationProvider creationProvider = new ConsigneeCreationProvider(_address);
     creationProvider.ReferenceTransactionFrom(Transaction);
     if (!creationProvider.Create())
     {
         Rollback();
         Alert("更新收货地址失败,请重试!");
         return false;
     }
     var oldAddress = _address;
     this._address = creationProvider.ShippingAddress;//new shipping address
     ConsigneeDeleteProvider deleteProvider = new ConsigneeDeleteProvider(oldAddress.Address_Id, oldAddress.User_Id);//delete old shipping address
     deleteProvider.ReferenceTransactionFrom(Transaction);
     if (!deleteProvider.Delete())
     {
         Rollback();
         Alert("更新收货地址失败,请重试!");
         return false;
     }
     Commit();
     return true;
 }
Example #2
0
        private ConsigneeInfo GetConsigneeInfo(int consigneeId)
        {
            Tnet_Consignee daConsignee = new Tnet_Consignee();

            if (!daConsignee.SelectByPk(consigneeId))
            {
                return(null);
            }
            ConsigneeInfo consignee = MapProvider.Map <ConsigneeInfo>(daConsignee.DataRow);

            return(consignee);
        }
Example #3
0
        /// <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);
        }