/// <summary> /// Abandon the so by sosysno. /// </summary> /// <param name="soMaster"></param> public static void AbandonSO(int sysNo, JobContext context) { SOAbandonReq req = new SOAbandonReq(); req.SOSysNoList = new System.Collections.Generic.List <int> { sysNo }; string baseUrl = System.Configuration.ConfigurationManager.AppSettings["SORestFulBaseUrl"]; string languageCode = System.Configuration.ConfigurationManager.AppSettings["LanguageCode"]; ECCentral.Job.Utility.RestClient client = new ECCentral.Job.Utility.RestClient(baseUrl, languageCode); ECCentral.Job.Utility.RestServiceError error; var ar = client.Update("/SO/Abandon", req, out error); if (error != null && error.Faults != null && error.Faults.Count > 0) { string errorMsg = ""; foreach (var errorItem in error.Faults) { errorMsg += errorItem.ErrorDescription; } Logger.WriteLog(errorMsg, "JobConsole"); throw new Exception(errorMsg); } }
public static bool BlankOutSO(int SoSysNo) { //IMaintainSOV31 service = ServiceBroker.FindService<IMaintainSOV31>(); try { // SOV31 actionPara = new SOV31() //{ // Header = new Newegg.Oversea.Framework.Contract.MessageHeader() // { // OperationUser = new OperationUser // (Settings.UserDisplayName, // Settings.UserLoginName, // Settings.StoreSourceDirectoryKey, // Settings.CompanyCode), // CompanyCode = Settings.CompanyCode, // StoreCompanyCode=Settings.CompanyCode, // FromSystem = "127.0.0.1" // } // , // Body = new SOMsg { SOMaster = new SOMasterMsg { SystemNumber = SoSysNo } } //}; // actionPara = service.EmployeeAbandonSO(actionPara); SOAbandonReq req = new SOAbandonReq(); req.SOSysNoList = new List <int>(); req.SOSysNoList.Add(SoSysNo); req.ImmediatelyReturnInventory = true; req.IsCreateAO = false; string baseUrl = System.Configuration.ConfigurationManager.AppSettings["SORestFulBaseUrl"]; string languageCode = System.Configuration.ConfigurationManager.AppSettings["LanguageCode"]; string companyCode = System.Configuration.ConfigurationManager.AppSettings["CompanyCode"]; ECCentral.Job.Utility.RestClient client = new ECCentral.Job.Utility.RestClient(baseUrl, languageCode); ECCentral.Job.Utility.RestServiceError error; var ar = client.Update("/SO/Abandon", req, out error); if (error != null && error.Faults != null && error.Faults.Count > 0) { string tmpSendMessageException = error.Faults[0].ErrorDescription + "\r\n" + error.Faults[0].ErrorCode; WriteLog(string.Format("订单{0}作废失败:\r\n{1}.", SoSysNo, tmpSendMessageException)); return(false); } else { WriteLog(string.Format("订单{0}作废成功.", SoSysNo)); return(true); } } catch (Exception ex) { WriteErrorLog(string.Format("订单[{0}]作废异常\r\n{1}", SoSysNo, ex.Message)); return(false); } }
public SOInfo AbandonSO(SOAbandonReq request) { SOInfo soInfo = null; SOAppService service = ObjectFactory <SOAppService> .Instance; if (request.IsCreateAO) { service.AbandonSO(request.SOSysNoList[0], request.ImmediatelyReturnInventory, request.IsCreateAO, request.RefundInfo, out soInfo); } else { List <SOInfo> soInfoList = null; service.AbandonSO(request.SOSysNoList, request.ImmediatelyReturnInventory, out soInfoList); soInfo = soInfoList != null && soInfoList.Count > 0 ? soInfoList[0] : null; } return(soInfo); }
public void DeclareFailAbandon(string SOSysNo) { SOInfo soInfo = null; SOAppService service = ObjectFactory <SOAppService> .Instance; SOAbandonReq request = new SOAbandonReq(); request.SOSysNoList = new List <int>(); request.SOSysNoList.Add(int.Parse(SOSysNo)); request.ImmediatelyReturnInventory = true; request.IsCreateAO = true; request.RefundInfo = new BizEntity.Invoice.SOIncomeRefundInfo(); var refundInfo = service.GetValidSOIncomeInfo(int.Parse(SOSysNo)); request.RefundInfo.BankName = ""; request.RefundInfo.BranchBankName = ""; request.RefundInfo.CardNumber = ""; request.RefundInfo.CardOwnerName = ""; request.RefundInfo.PostAddress = ""; request.RefundInfo.PostCode = ""; request.RefundInfo.ReceiverName = ""; request.RefundInfo.Note = ""; request.RefundInfo.RefundPayType = BizEntity.Invoice.RefundPayType.BankRefund; request.RefundInfo.RefundCashAmt = refundInfo.OrderAmt; request.SOSysNoList = request.SOSysNoList; if (request.IsCreateAO) { service.AbandonSO(request.SOSysNoList[0], request.ImmediatelyReturnInventory, request.IsCreateAO, request.RefundInfo, out soInfo); } else { List <SOInfo> soInfoList = null; service.AbandonSO(request.SOSysNoList, request.ImmediatelyReturnInventory, out soInfoList); } }