public void MI_MES_DNPOST_REQ([System.Xml.Serialization.XmlElementAttribute(Namespace = "urn:mes2sap:dnpost")] DT_MES_DNPOST_REQ MT_MES_DNPOST_REQ) { this.Invoke("MI_MES_DNPOST_REQ", new object[] { MT_MES_DNPOST_REQ }); }
/// <remarks/> public System.IAsyncResult BeginMI_MES_DNPOST_REQ(DT_MES_DNPOST_REQ MT_MES_DNPOST_REQ, System.AsyncCallback callback, object asyncState) { return(this.BeginInvoke("MI_MES_DNPOST_REQ", new object[] { MT_MES_DNPOST_REQ }, callback, asyncState)); }
public ServiceResult Run(RunMethod runMethod) { /*====Get WebService URL and UserName and Password====*/ SAPWebServiceEntity webServiceEntity = System.Configuration.ConfigurationManager.GetSection("DNConfirmConfig") as SAPWebServiceEntity; if (webServiceEntity == null) { return(new ServiceResult(false, "没有维护DNConfirm对应的Service地址", this.m_Argument.TransactionCode)); } DeliveryFacade deliveryFacade = new DeliveryFacade(this.DataProvider); #region Begin for Prepare input Paremeter DT_MES_DNPOST_REQ inputParameter = new DT_MES_DNPOST_REQ(); if (runMethod == RunMethod.Auto) { this.NewTransactionCode(); this.m_Argument.DNList.Clear(); object[] deliveryNoteList = deliveryFacade.QueryDNNotConfirmed(); if (deliveryNoteList != null) { foreach (DeliveryNote deliveryNote in deliveryNoteList) { DT_MES_DNPOST post = new DT_MES_DNPOST(); post.VBELN = deliveryNote.DNCode; post.POSNR = deliveryNote.DNLine; post.MATNR = deliveryNote.ItemCode; post.G_LFIMG = deliveryNote.RealQuantity.ToString(); post.LGORT = deliveryNote.SAPStorage; this.m_Argument.DNList.Add(post); } } } if (this.m_Argument.DNList == null || this.m_Argument.DNList.Count <= 0) { return(new ServiceResult(true, "", this.m_Argument.TransactionCode)); } inputParameter.TRANS = this.m_Argument.TransactionCode; inputParameter.DNPARAM = this.m_Argument.DNList.ToArray(); #endregion string xmlFilePath = SerializeUtil.SerializeFile(this.m_Argument.TransactionCode + "_Request.xml", typeof(DT_MES_DNPOST_REQ), inputParameter); #region TransferLog DBDateTime requestDataTime = FormatHelper.GetNowDBDateTime(this.DataProvider); SAPDataTransferLog transferLog = new SAPDataTransferLog(); TransferFacade transferFacade = new TransferFacade(this.DataProvider); transferLog.JobID = TransferFacade.DNConfirmJobID; transferLog.TransactionCode = this.m_Argument.TransactionCode; transferLog.TransactionSequence = 1; transferLog.RequestDate = requestDataTime.DBDate; transferLog.RequestTime = requestDataTime.DBTime; transferLog.RequestContent = xmlFilePath; transferLog.OrganizationID = 2000; transferLog.SendRecordCount = 1; transferFacade.AddSAPDataTransferLog(transferLog); #endregion #region Begin for Calling WebService try { DNConfirmServiceClientProxy clientProxy = new DNConfirmServiceClientProxy(); clientProxy.RequestEncoding = Encoding.UTF8; clientProxy.Timeout = InternalVariables.MS_TimeOut * 1000; clientProxy.Url = webServiceEntity.Url; clientProxy.PreAuthenticate = true; System.Uri uri = new Uri(clientProxy.Url); clientProxy.Credentials = new NetworkCredential(webServiceEntity.UserName, webServiceEntity.Password).GetCredential(uri, ""); clientProxy.MI_MES_DNPOST_REQ(inputParameter); clientProxy.Dispose(); clientProxy = null; } catch (Exception e) { transferLog.Result = "Fail"; transferLog.ErrorMessage = e.Message; transferFacade.UpdateSAPDataTransferLog(transferLog); return(new ServiceResult(false, e.Message, transferLog.TransactionCode)); } #endregion #region Update tbldn try { this.DataProvider.BeginTransaction(); foreach (DT_MES_DNPOST post in this.m_Argument.DNList) { DeliveryNote deliveryNote = (DeliveryNote)deliveryFacade.GetDeliveryNote(post.VBELN, post.POSNR); if (deliveryNote != null) { deliveryNote.Flag = FlagStatus.FlagStatus_POST; deliveryNote.TransactionCode = this.m_Argument.TransactionCode; deliveryFacade.UpdateDeliveryNote(deliveryNote); } } this.DataProvider.CommitTransaction(); } catch (Exception ex) { this.DataProvider.RollbackTransaction(); return(new ServiceResult(false, ex.Message, this.m_Argument.TransactionCode)); } #endregion return(new ServiceResult(true, "", this.m_Argument.TransactionCode)); }