/// <summary> /// 作废申请单 /// </summary> /// <param name="sysNo">申请单编号</param> /// <returns>是否成功</returns> public virtual bool Abandon(int sysNo) { RMARequestInfo request = LoadBySysNo(sysNo); request.VerifyAbandon(request); request.Status = RMARequestStatus.Abandon; request.Registers = registerProcessor.LoadByRequestSysNo(sysNo); request.Registers.ForEach(reg => { reg.BasicInfo.Status = request.Status; }); bool result; TransactionOptions options = new TransactionOptions(); options.IsolationLevel = IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { result = UpdateWithRegisters(request); scope.Complete(); } ExternalDomainBroker.CreateOperationLog("RMA_Request_Abandon", BizLogType.RMA_Request_Abandon, request.SysNo.Value, request.CompanyCode); return(result); }
/// <summary> /// 更新申请单主信息(不包括单件) /// </summary> /// <param name="request">申请单信息</param> public virtual void UpdateWithoutRegisters(RMARequestInfo request) { if (request == null) { throw new ArgumentNullException("request"); } if (!request.SysNo.HasValue) { throw new ArgumentNullException("request.SysNo"); } request.VerifyUpdate(LoadBySysNo(request.SysNo.Value)); var customerContactInfo = GetCustomerContactInfo(request); TransactionOptions options = new TransactionOptions(); options.IsolationLevel = IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { ObjectFactory <ICustomerContactDA> .Instance.UpdateByRequestSysNo(customerContactInfo); requestDA.Update(request); scope.Complete(); } }
/// <summary> /// 更新Request和Register信息 /// </summary> /// <param name="request"></param> /// <returns></returns> private bool UpdateWithRegisters(RMARequestInfo request) { requestDA.Update(request); if (request.Registers != null) { if (request.Status == RMARequestStatus.AuditRefuesed) { request.Registers.ForEach( reg => { reg.BasicInfo.Status = RMARequestStatus.Abandon; registerProcessor.Update(reg); } ); } else { request.Registers.ForEach( reg => { reg.BasicInfo.Status = request.Status; registerProcessor.Update(reg); } ); } } return(true); }
public virtual RefundInfo LoadBySysNo(int sysNo, out string customerName, out CustomerContactInfo contactInfo, out PromotionCode_Customer_Log promotionCodeLog) { RefundInfo refund = ObjectFactory <RefundProcessor> .Instance.LoadWithItemsBySysNo(sysNo); CustomerInfo customer = ExternalDomainBroker.GetCustomerInfo(refund.CustomerSysNo.Value); customerName = customer.BasicInfo.CustomerName; refund.IncomeBankInfo = ExternalDomainBroker.GetSOIncomeRefundInfo(sysNo, RefundOrderType.RO); contactInfo = null; if (refund.RefundPayType == RefundPayType.BankRefund && refund.IncomeBankInfo != null && string.IsNullOrEmpty(refund.IncomeBankInfo.CardNumber)) { if (refund.RefundItems != null && refund.RefundItems.Count > 0) { RMARequestInfo request = ObjectFactory <RequestProcessor> .Instance.LoadByRegisterSysNo(refund.RefundItems[0].RegisterSysNo.Value); contactInfo = ObjectFactory <CustomerContactProcessor> .Instance.LoadByRequestSysNo(request.SysNo.Value); } } promotionCodeLog = ExternalDomainBroker.GetPromotionCodeLog(refund.SOSysNo.Value); if (promotionCodeLog != null) { promotionCodeLog.UsedOrderSysNo = ExternalDomainBroker.GetSOSysNoByCouponSysNo(promotionCodeLog.CouponCodeSysNo.Value); } return(refund); }
public virtual RMARequestInfo Adjust(int sysNo) { string ServiceCode = requestDA.CreateServiceCode(); if (string.IsNullOrEmpty(ServiceCode) || ServiceCode.Length != 6) { throw new ArgumentNullException(ResouceManager.GetMessageString("RMA.Request", "ServiceCodeError")); } else { RMARequestInfo request = LoadBySysNo(sysNo); request.VerifyAuditPassed(request); request.ServiceCode = ServiceCode; request.Status = RMARequestStatus.Origin; request.Registers = registerProcessor.LoadByRequestSysNo(request.SysNo.Value); request.AuditTime = DateTime.Now; request.AuditUserSysNo = ServiceContext.Current.UserSysNo; bool result = UpdateWithRegisters(request); if (request.IsReceiveMsg == true && !string.IsNullOrEmpty(request.Phone) && request.ShippingType == BizEntity.Invoice.DeliveryType.SELF && request.StockType == StockType.SELF && request.InvoiceType == InvoiceType.SELF) { string message = string.Format(ResouceManager.GetMessageString("RMA.Request", "SMSAuditRMARequest"), request.RequestID, request.ServiceCode); ExternalDomainBroker.SendSMS(request.Phone, message); } if (result) { ExternalDomainBroker.CreateOperationLog("RMA_Request_Audit", BizLogType.RMA_Request_Audit, request.SysNo.Value, request.CompanyCode); } return(request); } }
public ActionResult AjaxRefundRequest() { var sysnoData = Request["SysNo"]; int sysno; if (!int.TryParse(sysnoData, out sysno) || sysno <= 0) { throw new BusinessException(L("退换货申请单编号不正确")); } var refundData = Request["RefundInfo"]; RMARefundInfo refundInfo = SerializationUtility.JsonDeserialize <RMARefundInfo>(refundData); if (string.IsNullOrWhiteSpace(refundData) || refundInfo == null) { throw new BusinessException(L("退款信息为空")); } //退款方式为“网关直接退款” refundInfo.RefundPayType = RefundPayType.NetWorkRefund; LoginUser user = EntityConverter <UserAuthVM, LoginUser> .Convert(UserAuthHelper.GetCurrentUser()); RMARequestInfo data = RMARequestService.Refund(sysno, refundInfo, user); return(Json(data)); }
/// <summary> /// 关闭申请单 /// </summary> /// <param name="sysNo">系统编号</param> /// <returns>是否成功</returns> public virtual bool Close(int sysNo) { RMARequestInfo request = LoadBySysNo(sysNo); request.Status = RMARequestStatus.Complete; request.Registers = registerProcessor.LoadByRequestSysNo(request.SysNo.Value); request.Registers.ForEach(register => { register.BasicInfo.CloseTime = DateTime.Now; register.BasicInfo.CloseUserSysNo = ServiceContext.Current.UserSysNo; }); bool result; TransactionOptions options = new TransactionOptions(); options.IsolationLevel = IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { result = UpdateWithRegisters(request); scope.Complete(); } ExternalDomainBroker.CreateOperationLog("RMA_Request_Close", BizLogType.RMA_Request_Close, request.SysNo.Value, request.CompanyCode); return(result); }
public static bool VerifyForCreate(this RMARequestInfo request) { // verify required fields CommonCheck.VerifyNotNull("销售单号", request.SOSysNo); CommonCheck.VerifyNotNull("顾客编号", request.CustomerSysNo); CommonCheck.VerifyNotNull("联系电话", request.Phone); CommonCheck.VerifyNotNull("联系人", request.Contact); CommonCheck.VerifyNotNull("送货方式", request.ShipViaCode); CommonCheck.VerifyNotNull("收货地址区域编号", request.AreaSysNo); CommonCheck.VerifyNotNull("收货地址", request.Address); // verify all fields' length request.VerifyFieldsLength(); VerifyGiftCardRMA(request); // tracking# is required withou OZZO ship via if ((!request.ShipViaCode.ToLower().Contains("ozzo") && !request.ShipViaCode.ToLower().Contains("奥硕")) && StringUtility.IsNullOrEmpty(request.TrackingNumber)) { string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired"); msg = string.Format(msg, "邮包编号"); throw new BizException(msg); } return(request.VerifyDuplicate()); }
public static RMARequestInfo Create(RMARequestInfo entity) { DataCommand insertCommand = DataCommandManager.GetDataCommand("InsertRequestMaster"); //insertCommand.SetParameterValue<RMARequestInfo>(entity); insertCommand.SetParameterValue("@SysNo", entity.SysNo); insertCommand.SetParameterValue("@RequestID", entity.RequestID); insertCommand.SetParameterValue("@SOSysNo", entity.SOSysNo); insertCommand.SetParameterValue("@CustomerSysNo", entity.CustomerSysNo); insertCommand.SetParameterValue("@Address", entity.Address); insertCommand.SetParameterValue("@Contact", entity.Contact); insertCommand.SetParameterValue("@Phone", entity.Phone); insertCommand.SetParameterValue("@Status", entity.Status); insertCommand.SetParameterValue("@AreaSysNo", entity.AreaSysNo); insertCommand.SetParameterValue("@ShipViaCode", entity.ShipViaCode); insertCommand.SetParameterValue("@IsSubmit", entity.IsSubmit); insertCommand.SetParameterValue("@TrackingNumber", entity.TrackingNumber); insertCommand.SetParameterValue("@StockType", entity.StockType.ToString()); insertCommand.SetParameterValue("@ShippingType", entity.ShippingType.ToString()); insertCommand.SetParameterValue("@InvoiceType", entity.InvoiceType.ToString()); insertCommand.SetParameterValue("@MerchantSysno", entity.MerchantSysNo); insertCommand.ExecuteNonQuery(); return(entity); }
public virtual CustomerContactInfo LoadByRequestSysNo(int sysNo) { CustomerContactInfo entity = null; entity = da.Load(sysNo); if (entity == null) { RMARequestInfo request = ObjectFactory <IRequestDA> .Instance.LoadBySysNo(sysNo); if (request != null) { entity = new CustomerContactInfo(); entity.ReceiveAddress = request.Address; entity.ReceiveAreaSysNo = request.AreaSysNo; entity.ReceiveContact = request.Contact; entity.ReceiveName = request.Contact; entity.ReceivePhone = request.Phone; if (request.SOSysNo.HasValue) { SOInfo so = ExternalDomainBroker.GetSOInfo(request.SOSysNo.Value); if (so != null) { entity.ReceiveCellPhone = so.ReceiverInfo.MobilePhone; entity.ReceiveZip = so.ReceiverInfo.Zip; } } } } return(entity); }
private static void UpdateWithRegisters(RMARequestInfo request) { RMARequestDA.Update(request); if (request.Registers != null) { if (request.Status == RMARequestStatus.AuditRefuesed) { request.Registers.ForEach( reg => { reg.Status = RMARequestStatus.Abandon; RMARequestDA.UpdateRegisterStatus(reg); } ); } else { request.Registers.ForEach( reg => { reg.Status = request.Status; RMARequestDA.UpdateRegisterStatus(reg); } ); } } }
public void Update(RMARequestInfo entity) { DataCommand updateCommand = DataCommandManager.GetDataCommand("PurelyUpdateRequestMaster"); updateCommand.SetParameterValue <RMARequestInfo>(entity); updateCommand.ExecuteNonQuery(); }
public static RMARequestInfo LoadWithRequestSysNo(int rmaRequestSysNo, int sellerSysNo) { if (rmaRequestSysNo > 0 && sellerSysNo > 0) { RMARequestInfo info = RMARequestDA.LoadWithRequestSysNo(rmaRequestSysNo, sellerSysNo); return(info); } return(null); }
public RMARequestInfo Create(RMARequestInfo entity) { DataCommand insertCommand = DataCommandManager.GetDataCommand("InsertRequestMaster"); insertCommand.SetParameterValue <RMARequestInfo>(entity); insertCommand.ExecuteNonQuery(); return(entity); }
/// <summary> /// 更新申请单Lable打印信息 /// </summary> /// <param name="sysNo">系统编号</param> /// <returns>是否成功</returns> public virtual bool PrintLables(int sysNo) { bool result = requestDA.PrintLabels(sysNo); RMARequestInfo request = LoadBySysNo(sysNo); ExternalDomainBroker.CreateOperationLog("RMA_Request_PrintLabels", BizLogType.RMA_Request_PrintLabels, sysNo, request.CompanyCode); return(result); }
public static bool VerifyReceive(this RMARequestInfo request, RMARequestInfo requestInDb) { if (request == null) { throw new ArgumentNullException("request"); } // verify required fields CommonCheck.VerifyNotNull("申请单ID", request.SysNo); CommonCheck.VerifyNotNull("仓库", request.ReceiveWarehouse); CommonCheck.VerifyNotNull("接收日期", request.CustomerSendTime); CommonCheck.VerifyNotNull("订单号", request.SOSysNo); //if (!(request.ShipViaCode.ToLower().Contains("ozzo") || // request.ShipViaCode.ToLower().Contains("奥硕"))) if (!request.ShipViaCode.ToLower().Contains(AppSettingManager.GetSetting("RMA", "PushShipTypeName"))) { CommonCheck.VerifyNotNull("邮包编号", request.TrackingNumber); } // verify request fields' max length request.VerifyFieldsLength(); if (requestInDb.Status.HasValue && requestInDb.Status.Value != RMARequestStatus.Origin) { string msg = ResouceManager.GetMessageString("RMA.Request", "CannotReceiveWithoutOriginRequest"); throw new BizException(msg); } if (request.Registers == null || request.Registers.Count < 1) { string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired"); msg = string.Format(msg, "订单列表"); throw new BizException(msg); } request.Registers.ForEach( reg => { if (!reg.BasicInfo.IsHaveInvoice.HasValue || !reg.BasicInfo.IsFullAccessory.HasValue || !reg.BasicInfo.IsFullPackage.HasValue) { string msg = ResouceManager.GetMessageString("RMA.Request", "LostRegisterReceiveInformations"); throw new BizException(msg); } } ); if (request.ShipViaCode == RMAConst.ShipVia_PostOffice) { if (request.PostageToPoint.HasValue && request.PostageToPoint.Value > 50) { string msg = ResouceManager.GetMessageString("RMA.Request", "PostageToPointShouldLessThan50"); throw new BizException(msg); } } return(true); }
/// <summary> /// 接收退货 /// </summary> /// <param name="rmaRequestSysNo">退换货申请单编号</param> /// <param name="userSysNo">操作人用户</param> /// <returns></returns> public static RMARequestInfo Receive(int rmaRequestSysNo, LoginUser operateUser) { RMARequestInfo request = LoadWithRequestSysNo(rmaRequestSysNo, operateUser.SellerSysNo); if (request == null) { throw new BusinessException(L("未找到编号为【{0}】的退换货申请单", rmaRequestSysNo)); } if (request.Status != RMARequestStatus.Origin) { throw new BusinessException(L("不能接收非“待处理”状态的申请单")); } if (request.Registers == null || request.Registers.Count <= 0) { throw new BusinessException(L("没有需要退换货的商品")); } //TODO: 虚拟仓库编码 request.ReceiveWarehouse = "90"; request.RecvTime = DateTime.Now; request.RecvUserSysNo = operateUser.UserSysNo; request.RecvUserName = operateUser.UserDisplayName; //收货后状态变成“处理中”,这个时候可以进行退货或退款操作 request.Status = RMARequestStatus.Handling; bool isWithin7Days = false; if (request.CustomerSendTime.HasValue) { isWithin7Days = request.CustomerSendTime.Value.AddDays(-7) < DateTime.Now; } List <SOItemInfo> soItems = SOService.GetSOItemInfoList(request.SOSysNo.Value); SOItemInfo soItem = null; foreach (var reg in request.Registers) { reg.OwnBy = RMAOwnBy.Customer; reg.Location = RMALocation.Self; reg.LocationWarehouse = request.ReceiveWarehouse; reg.IsWithin7Days = isWithin7Days; reg.Status = request.Status; soItem = soItems.Find(x => x.ProductSysNo == reg.ProductSysNo.Value && x.ProductType == reg.SoItemType.Value); if (soItem == null) { throw new BusinessException(L("订单中不存在申请退换货的商品:{0}【1】", reg.ProductName, reg.ProductID)); } reg.Cost = soItem.Cost; } ; UpdateWithRegisters(request); return(request); }
/// <summary> /// 根据系统编号获取申请单以及对应的单件详细信息 /// </summary> /// <param name="sysNo">系统编号</param> /// <returns>申请单详细信息</returns> public virtual RMARequestInfo LoadWithRegistersBySysNo(int sysNo) { RMARequestInfo result = ObjectFactory <IRequestDA> .Instance.LoadWithRegistersBySysNo(sysNo); if (result == null) { string msg = ResouceManager.GetMessageString("RMA.Request", "RequestNotExists"); msg = string.Format(msg, sysNo); throw new BizException(msg); } return(result); }
public static string SubmitRMARequest(RMARequestInfo request) { DataCommand dataCommand = DataCommandManager.GetDataCommand("SubmitRMARequest"); dataCommand.SetParameterValue("@SysNo", request.SysNo); dataCommand.SetParameterValue("@Address", request.Address); dataCommand.SetParameterValue("@Contact", request.Contact); dataCommand.SetParameterValue("@Phone", request.Phone); dataCommand.SetParameterValue("@AreaSysNo", request.AreaSysNo); dataCommand.SetParameterValue("@IsSubmit", request.IsSubmit); dataCommand.ExecuteNonQuery(); return(dataCommand.GetParameterValue("@RequestID").ToString()); }
public static void RefreshRequestStatus(int rmaRequestSysNo, int sellerSysNo) { RMARequestInfo requestInfo = LoadWithRequestSysNo(rmaRequestSysNo, sellerSysNo); if (requestInfo != null) { if (requestInfo.Status == RMARequestStatus.Handling && requestInfo.Registers.Count(x => x.Status == RMARequestStatus.Handling) <= 0) { requestInfo.Status = RMARequestStatus.Complete; RMARequestDA.Update(requestInfo); } } }
public ActionResult SubmitRMARequestInfo(FormCollection form) { string Data = Request["Data"].ToString(); Data = System.Web.HttpUtility.UrlDecode(Data); JavaScriptSerializer jss = new JavaScriptSerializer(); RMARequestInfo requestInfo = jss.Deserialize <RMARequestInfo>(Data); requestInfo.IsSubmit = true; string requestrSysno = RMARequestFacade.SubmitRMARequest(requestInfo); return(Json(new { Result = "s", RequestrSysno = requestrSysno }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 取消接收申请单 /// </summary> /// <param name="sysNo">系统编号</param> /// <returns>是否成功</returns> public virtual bool CancelReceive(int sysNo) { RMARequestInfo request = LoadWithRegistersBySysNo(sysNo); request.VerifyCancelReceive(); using (TransactionScope tran = new TransactionScope()) { //[Jay]:OZZO奥硕物流上门取返修件或返还50点积分 2010-01-28 //VoidTransferPostage2Point(request); request.Status = RMARequestStatus.Origin; request.ReceiveWarehouse = null; request.ReceiveTime = null; request.ReceiveUserSysNo = null; request.IsViaPostOffice = null; request.PostageToPoint = null; request.ReturnPoint = null; request.Registers = registerProcessor.LoadByRequestSysNo(request.SysNo.Value); // 先更新 RMA Inventory // 更新后再重置 LocationWarehouse UpdateInventory(request.Registers, false); request.Registers.ForEach(reg => { reg.BasicInfo.OwnBy = RMAOwnBy.Origin; reg.BasicInfo.Location = RMALocation.Origin; reg.BasicInfo.Cost = null; reg.BasicInfo.Status = request.Status; reg.BasicInfo.LocationWarehouse = ((int)RMALocation.Origin).ToString(); reg.BasicInfo.RefundStatus = null; reg.RevertInfo.RevertStatus = null; reg.BasicInfo.OutBoundStatus = null; reg.BasicInfo.ReturnStatus = null; }); requestDA.Update(request); request.Registers.ForEach(reg => { registerProcessor.Update(reg); }); tran.Complete(); } ExternalDomainBroker.CreateOperationLog("RMA_Request_CancelRecieve", BizLogType.RMA_Request_CancelReceive, request.SysNo.Value, request.CompanyCode); return(true); }
public ActionResult AjaxRejectRequest() { var sysnoData = Request["SysNo"]; int sysno; if (!int.TryParse(sysnoData, out sysno) || sysno <= 0) { throw new BusinessException(L("退换货申请单编号不正确")); } LoginUser user = EntityConverter <UserAuthVM, LoginUser> .Convert(UserAuthHelper.GetCurrentUser()); RMARequestInfo data = RMARequestService.Reject(sysno, user); return(Json(data)); }
public static RMARequestInfo LoadWithRequestSysNo(int rmaRequestSysNo, int sellerSysNo) { DataCommand command = DataCommandManager.GetDataCommand("LoadRMARequestWithRequestSysNo"); command.SetParameterValue("@SysNo", rmaRequestSysNo); command.SetParameterValue("@SellerSysNo", sellerSysNo); RMARequestInfo info = command.ExecuteEntity <RMARequestInfo>(); if (info != null) { info.Registers = LoadRegisterWithRequestSysNo(rmaRequestSysNo); } return(info); }
public static bool VerifyFieldsLength(this RMARequestInfo request) { if (request != null) { CommonCheck.VerifyLength("RequestID", request.RequestID, 20); CommonCheck.VerifyLength("Address", request.Address, 200); CommonCheck.VerifyLength("Contact", request.Contact, 50); CommonCheck.VerifyLength("Phone", request.Phone, 50); CommonCheck.VerifyLength("Note", request.Note, 200); CommonCheck.VerifyLength("Memo", request.Memo, 200); CommonCheck.VerifyLength("ShipViaCode", request.ShipViaCode, 50); CommonCheck.VerifyLength("TrackingNumber", request.TrackingNumber, 50); CommonCheck.VerifyLength("ReceiveWarehouse", request.ReceiveWarehouse, 4); } return(true); }
public RMARequestInfo LoadWithRegistersBySysNo(int sysNo) { DataCommand selectCommand = DataCommandManager.GetDataCommand("LoadRequestBySysNo"); selectCommand.SetParameterValue("@SysNo", sysNo); RMARequestInfo requestView = selectCommand.ExecuteEntity <RMARequestInfo>(); if (requestView == null) { return(requestView); } requestView.Registers = ObjectFactory <IRegisterDA> .Instance.QueryByRequestSysNo(requestView.SysNo.Value); return(requestView); }
/// <summary> /// 获取申请单的业务模式 /// </summary> /// <param name="request">申请单信息</param> /// <returns>业务模式描述信息,比如:(泰隆优选销售,泰隆优选仓储,泰隆优选配送,商家:泰隆优选网)</returns> public virtual string GetBusinessModel(RMARequestInfo request) { string businessType = string.Empty; if (!string.IsNullOrEmpty(GetBusinessTypeString(request.InvoiceType))) { //{0}销售 businessType += string.Format(ResouceManager.GetMessageString("RMA.Request", "InvoiceTypeFormat"), GetBusinessTypeString(request.InvoiceType)); } if (!string.IsNullOrEmpty(GetBusinessTypeString(request.StockType))) { //{0}仓储 businessType += string.Format(ResouceManager.GetMessageString("RMA.Request", "StockTypeFormat"), GetBusinessTypeString(request.StockType)); } if (!string.IsNullOrEmpty(GetBusinessTypeString(request.ShippingType))) { //{0}配送 businessType += string.Format(ResouceManager.GetMessageString("RMA.Request", "ShippingTypeFormat"), GetBusinessTypeString(request.ShippingType)); } string vendorName = string.Empty; ///为符合IPP逻辑而改 ///ipp中 NEG订单时MerchantSysNo=0, 不用加载商家信息 ///改之前代码:if (request.MerchantSysNo.HasValue) ///改之后代码如下: if (request.MerchantSysNo.HasValue && request.MerchantSysNo != 0) { //获取Merchant的信息 var merchantInfo = ExternalDomainBroker.GetVendorFinanceInfoByVendorSysNo(request.MerchantSysNo.Value); if (!string.IsNullOrEmpty(merchantInfo.VendorBasicInfo.VendorBriefName)) { //商家:{0} vendorName = string.Format(ResouceManager.GetMessageString("RMA.Request", "SellerTypeFormat"), merchantInfo.VendorBasicInfo.VendorBriefName); } } if (request.InvoiceType.HasValue && request.StockType.HasValue && request.ShippingType.HasValue) { if (request.InvoiceType == InvoiceType.SELF && request.StockType == BizEntity.Invoice.StockType.SELF && request.ShippingType == BizEntity.Invoice.DeliveryType.SELF) { //商家:{0} vendorName = string.Format(ResouceManager.GetMessageString("RMA.Request", "SellerTypeFormat"), ResouceManager.GetMessageString("RMA.Request", "SellerType_Self")); } } return(businessType + vendorName); }
public virtual RMARequestInfo Refused(int sysNo) { RMARequestInfo request = LoadBySysNo(sysNo); request.VerifyAuditRefuesed(request); request.Status = RMARequestStatus.AuditRefuesed; request.Registers = registerProcessor.LoadByRequestSysNo(request.SysNo.Value); bool result = UpdateWithRegisters(request); if (result) { ExternalDomainBroker.CreateOperationLog("RMA_Request_Refused", BizLogType.RMA_Request_Refused, request.SysNo.Value, request.CompanyCode); } return(request); }
/// <summary> /// 关闭单件 /// </summary> /// <param name="register"></param> /// <returns></returns> public virtual RMARegisterInfo Close(int sysNo) { RMARegisterInfo original = LoadBySysNo(sysNo); original.VerifyClose(original); original.BasicInfo.Status = RMARequestStatus.Complete; TransactionOptions options = new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted, Timeout = TransactionManager.DefaultTimeout }; //using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //先关闭单件 registerDA.Close(original); RMARequestInfo request = ObjectFactory <RequestProcessor> .Instance.LoadByRegisterSysNo(sysNo); request.Registers = LoadByRequestSysNo(request.SysNo.Value); //判断所有单件是否都已关闭 bool allClosed = true; request.Registers.ForEach(reg => { if (reg.BasicInfo.Status == RMARequestStatus.Handling) { allClosed = false; } }); //关闭申请单 if (allClosed && request.Status != RMARequestStatus.Complete) { request.Status = RMARequestStatus.Complete; ObjectFactory <RequestProcessor> .Instance.UpdateWithoutRegisters(request); } //scope.Complete(); } ExternalDomainBroker.CreateOperationLog("RMA_Register_Close", BizLogType.RMA_Register_Close, sysNo, original.CompanyCode); return(LoadForEditBySysNo(sysNo)); }
public static void Update(RMARequestInfo request) { DataCommand command = DataCommandManager.GetDataCommand("UpdateRMARequest"); command.SetParameterValue("@SysNo", request.SysNo); command.SetParameterValue("@RecvTime", request.RecvTime); command.SetParameterValue("@RecvUserSysNo", request.RecvUserSysNo); command.SetParameterValue("@RecvUserName", request.RecvUserName); command.SetParameterValue("@Status", request.Status); command.SetParameterValue("@ReceiveWarehouse", request.ReceiveWarehouse); command.SetParameterValue("@ServiceCode", request.ServiceCode); command.SetParameterValue("@AuditUserSysNo", request.AuditUserSysNo); command.SetParameterValue("@AuditUserName", request.AuditUserName); command.SetParameterValue("@AuditTime", request.AuditTime); command.ExecuteNonQuery(); }