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; }
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); }
/// <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); }