private void LoadDropdownlistSBOMVersionQuery() { this.DropdownlistSBOMVersionQuery.Items.Clear(); if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } //object[] controls = _sbomFacade.GetSBOM(Request.Params["itemcode"].ToString(), 0, int.MaxValue); object[] controls = _sbomFacade.GetAllSBOMVersion(Request.Params["itemcode"].ToString().ToUpper(), GlobalVariables.CurrentOrganizations.First().OrganizationID); if (controls == null || controls.Length == 0) { return; } for (int i = 0; i < controls.Length; i++) { string version = ((SBOM)controls[i]).SBOMVersion; if (this.DropdownlistSBOMVersionQuery.Items.FindByText(version) == null) { this.DropdownlistSBOMVersionQuery.Items.Add(version); } } DropdownlistSBOMVersionQuery.SelectedIndex = 0; }
private object GetEditObject(GridRecord row) { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } //object obj = this._sbomFacade.GetSBOM(row.Cells.FromKey("ItemCode").Text,row.Cells.FromKey("SBOMItemCode").Text,row.Cells.FromKey("SBOMSourceItemCode").Text,row.Cells.FromKey("SBOMItemQty").Text); DateTime effDate = DateTime.Parse(row.Items.FindItemByKey("EffectiveDate").Text); string version = string.Empty; if (this.DropdownlistSBOMVersionQuery.SelectedIndex >= 0) { version = DropdownlistSBOMVersionQuery.SelectedValue; } object obj = this._sbomFacade.GetSBOM(row.Items.FindItemByKey("ItemCode").Value.ToString(), row.Items.FindItemByKey("SBOMItemCode").Value.ToString(), row.Items.FindItemByKey("SBOMSourceItemCode").Value.ToString(), row.Items.FindItemByKey("SBOMItemQty").Value.ToString(), FormatHelper.TODateInt(effDate.Date).ToString(), GlobalVariables.CurrentOrganizations.First().OrganizationID, version); if (obj != null) { return((SBOM)obj); } return(null); }
public void SetUp() { persistBroker = new OLEDBPersistBroker("Provider=OraOLEDB.Oracle.1;Password=emes;Persist Security Info=True;User ID=emes;Data Source=sqcdemo"); opBOMFacade = new OPBOMFacade(); modelFacade = new ModelFacade(); sbomFacade = new SBOMFacade(); }
protected void cmdDelete_ServerClick(object sender, System.EventArgs e) { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } ArrayList array = this.gridHelper.GetCheckedRows(); if (array.Count > 0) { ArrayList items = new ArrayList(array.Count); foreach (GridRecord row in array) { object item = this.GetEditObject(row); if (item != null) { items.Add((SBOM)item); } } this._sbomFacade.DeleteSBOM((SBOM[])items.ToArray(typeof(SBOM))); this.gridHelper.GridBind(this.pagerToolBar.PageIndex, this.pagerToolBar.PageSize); this.RequestData(); this.buttonHelper.PageActionStatusHandle(PageActionType.Delete); } }
private void LoadGrid(object[] dataObjects) { if (this.opsLoadMetrial.Value == "0") { _DataTableLoadedPart.Clear(); } int needBatchNumber = Convert.ToInt32(this.edtMoPlanQty.Value.Trim()); int needNumber = 0; int[] lotNeedNumberList = new int[dataObjects.Length]; //计算每行发料数量 for (int i = 0; i < dataObjects.Length; i++) { int lotSendNumber = 0; MaterialLotWithItemDesc materialLotWithItemDesc = (MaterialLotWithItemDesc)dataObjects[i]; string lastItemCode = string.Empty; if (i > 0) { MaterialLotWithItemDesc materialLotWithItemDescLast = (MaterialLotWithItemDesc)dataObjects[i - 1]; lastItemCode = materialLotWithItemDescLast.ItemCode; } if (lastItemCode != materialLotWithItemDesc.ItemCode) { SBOMFacade SBOMFacade = new SBOMFacade(this.DataProvider); decimal sBomItemQty = SBOMFacade.GetSbomItemQtyWithMo(materialLotWithItemDesc.ItemCode, FormatHelper.CleanString(this.edtMoCode.Value.Trim().ToUpper())); needNumber = Convert.ToInt32(Math.Ceiling(needBatchNumber * sBomItemQty)); } lotSendNumber = Math.Min(materialLotWithItemDesc.LotQty, needNumber); lotNeedNumberList[i] = lotSendNumber; needNumber -= lotSendNumber; } for (int i = 0; i < dataObjects.Length; i++) { Domain.Material.MaterialLotWithItemDesc materialLotWithItemDesc = (Domain.Material.MaterialLotWithItemDesc)dataObjects[i]; _DataTableLoadedPart.Rows.Add(new object[] { true, materialLotWithItemDesc.MaterialLotNo, materialLotWithItemDesc.IQCNo, materialLotWithItemDesc.STLine, materialLotWithItemDesc.VendorCode, materialLotWithItemDesc.VendorDesc, materialLotWithItemDesc.ItemCode, materialLotWithItemDesc.ItemDesc, materialLotWithItemDesc.CreateDate, materialLotWithItemDesc.LotQty, lotNeedNumberList[i], materialLotWithItemDesc.OrganizationID, materialLotWithItemDesc.StorageID, materialLotWithItemDesc.Unit }); } }
private int GetRowCount() { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } if (this.cbOPBOMEdit.Checked) { return(this._sbomFacade.GetUnSelectSBOMItemsCounts(FormatHelper.PKCapitalFormat(FormatHelper.CleanString(ItemCode)), OPBOMCode, OPBOMVersion, RouteCode, OPID, FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtSBOMItemCodeQuery.Text)), this.txtSBOMItemNameQuery.Text, this.txtSBOMSourceItemCodeQuery.Text.ToUpper())); } else { return(this._sbomFacade.GetAllSBOMItemsByItemCounts(FormatHelper.PKCapitalFormat(FormatHelper.CleanString(ItemCode)), OPBOMCode, OPBOMVersion, RouteCode, OPID, FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtSBOMItemCodeQuery.Text)), this.txtSBOMItemNameQuery.Text, this.txtSBOMSourceItemCodeQuery.Text.ToUpper())); } }
//检查Grid发货数量 private bool CheckGridSendNumber() { Dictionary <string, int> sendQtyByItem = new Dictionary <string, int>(); for (int i = 0; i < ultraGridMetrialDetial.Rows.Count; i++) { if (ultraGridMetrialDetial.Rows[i].Cells["Check"].Value.ToString().ToLower() == "true") { string itemCode = ultraGridMetrialDetial.Rows[i].Cells["ItemCode"].Value.ToString(); int lotInQty = Convert.ToInt32(ultraGridMetrialDetial.Rows[i].Cells["LotQty"].Value.ToString()); int lotQty = ultraGridMetrialDetial.Rows[i].Cells["SendQty"].Value.ToString().Trim() == string.Empty ? 0 : int.Parse(ultraGridMetrialDetial.Rows[i].Cells["SendQty"].Value.ToString().Trim()); if (lotInQty < lotQty) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_LotQty_Smaller_LotInQty $CS_MaterialLot:" + ultraGridMetrialDetial.Rows[i].Cells["MetrialLot"].Value.ToString())); return(false); } if (lotQty <= 0) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_LotQty_Over_Zero $CS_MaterialLot:" + ultraGridMetrialDetial.Rows[i].Cells["MetrialLot"].Value.ToString())); return(false); } if (!sendQtyByItem.ContainsKey(itemCode)) { sendQtyByItem.Add(itemCode, 0); } sendQtyByItem[itemCode] += lotQty; } } SBOMFacade SBOMFacade = new SBOMFacade(this.DataProvider); foreach (KeyValuePair <string, int> par in sendQtyByItem) { decimal SbomItemQty = SBOMFacade.GetSbomItemQtyWithMo(par.Key, FormatHelper.CleanString(this.edtMoCode.Value.Trim().ToUpper())); int planQty = Convert.ToInt32(Math.Ceiling(SbomItemQty * Convert.ToInt32(this.edtMoPlanQty.Value.Trim()))); if (par.Value > planQty) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_OneItem_SendNumber:" + par.Value + "$CS_Not_Over_PlanQty:" + planQty + " $CS_ItemCode:" + par.Key)); return(false); } } return(true); }
private int GetRowCount() { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } string version = string.Empty; if (this.DropdownlistSBOMVersionQuery.SelectedIndex >= 0) { version = DropdownlistSBOMVersionQuery.SelectedValue; } return(this._sbomFacade.GetSBOMCounts(FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtItemCode.Text.Trim())), version)); }
private object[] LoadDataSource(int inclusive, int exclusive) { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } string version = string.Empty; if (this.DropdownlistSBOMVersionQuery.SelectedIndex >= 0) { version = DropdownlistSBOMVersionQuery.SelectedValue; } return(this._sbomFacade.GetSBOM(FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtItemCode.Text.Trim())), version, inclusive, exclusive)); }
private object[] GetNotInOPBOMItems() { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } return(this._sbomFacade.GetUnSelectSBOMItems( FormatHelper.PKCapitalFormat(FormatHelper.CleanString(ItemCode)), OPBOMCode, OPBOMVersion, RouteCode, OPID, FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtSBOMItemCodeQuery.Text)), this.txtSBOMItemNameQuery.Text, this.txtSBOMSourceItemCodeQuery.Text, this.Actiontype, 0, int.MaxValue)); }
private void ImportSBOM(object[] objs, string type, Log log) { SBOMFacade sbomFacade = new SBOMFacade(this.MESProvider); ArrayList items = new ArrayList(); ArrayList sboms = new ArrayList(); for (int j = 0; j < objs.Length; j++) { object impObj = importSchema.FillImportObject(objs[j], type); sboms.Add(impObj); items.Add((impObj as SBOM).ItemCode); } sbomFacade.DeleteSBOMWithoutTransaction((string[])items.ToArray(typeof(string))); sbomFacade.AddSBOMsWithoutTransaction((SBOM[])sboms.ToArray(typeof(SBOM))); for (int j = 0; j < objs.Length; j++) { this.ERPProvider.Delete(objs[j]); } }
private object GetEditObject(GridRecord row) { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } string itemcode = this.ItemCode; string sbitemcode = row.Items.FindItemByKey("SBOMItemCode").Value.ToString(); string sbsitemcode = row.Items.FindItemByKey("SBOMSourceItemCode").Value.ToString(); string sbitemqty = row.Items.FindItemByKey("SBOMItemQty").Value.ToString(); string effdate = FormatHelper.TODateInt(DateTime.Parse(row.Items.FindItemByKey("EffectiveDate").Text).Date).ToString(); object obj = this._sbomFacade.GetSBOM(itemcode, sbitemcode, sbsitemcode, sbitemqty, effdate, GlobalVariables.CurrentOrganizations.First().OrganizationID, string.Empty); if (obj != null) { return(obj); } return(null); }
private void cmdDelete_ServerClick(object sender, System.EventArgs e) { ArrayList array = this.gridHelper.GetCheckedRows(); if (array.Count > 0) { if (_sbomFacade == null) { _sbomFacade = new FacadeFactory(base.DataProvider).CreateSBOMFacade(); } string[] itemCodes = new string[array.Count]; for (int i = 0; i < array.Count; i++) { itemCodes[i] = ((GridRecord)array[i]).Items.FindItemByKey("ItemCode").Value.ToString(); } _sbomFacade.DeleteSBOM(itemCodes); this.RequestData(); this.buttonHelper.PageActionStatusHandle(PageActionType.Delete); } }
private void edtMetrialLotNo_TxtboxKeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') { if (this.edtMoCode.Value.Trim() == string.Empty) { ApplicationRun.GetInfoForm().AddEx("$CS_CMPleaseInputMO"); this.edtMoCode.TextFocus(false, true); return; } if (!this.CheckSendMetrialNumber()) { this.edtMoPlanQty.TextFocus(false, true); return; } if (this.edtMetrialLotNo.Value.Trim() == string.Empty) { ApplicationRun.GetInfoForm().AddEx("$Please_Input_MaterialLot"); this.edtMetrialLotNo.TextFocus(false, true); return; } InventoryFacade inventoryFacade = new InventoryFacade(this.DataProvider); object materialLot = inventoryFacade.GetMaterialLot(this.edtMetrialLotNo.Value.Trim().ToUpper()); if (materialLot == null) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_Not_Find_Metrial")); this.edtMetrialLotNo.TextFocus(false, true); return; } MaterialLotWithItemDesc materialLotWithItemDesc = (MaterialLotWithItemDesc)inventoryFacade.GetMaterialLotAndItemDesc(FormatHelper.CleanString(this.edtMoCode.Value.Trim().ToUpper()), this.edtMetrialLotNo.Value.Trim().ToUpper()); if (materialLotWithItemDesc == null) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$MaterialLot_NOMAP_MO")); this.edtMetrialLotNo.TextFocus(false, true); return; } if (materialLotWithItemDesc.LotQty == 0) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_MetrialLot_Is_Empty")); this.edtMetrialLotNo.TextFocus(false, true); return; } //检查物料是否存在Sbom SBOMFacade sboMFacade = new SBOMFacade(this.DataProvider); object[] sBOMList = sboMFacade.QuerySBOMByMoCode(this.edtMoCode.Value.Trim().ToUpper()); if (sBOMList == null) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_SBOMInMO_IsNot_Exist")); this.edtMetrialLotNo.TextFocus(false, true); return; } bool materailIsInSBOM = false; for (int i = 0; i < sBOMList.Length; i++) { if (((SBOM)sBOMList[i]).SBOMItemCode.Trim().ToUpper() == materialLotWithItemDesc.ItemCode.Trim().ToUpper()) { materailIsInSBOM = true; break; } } if (!materailIsInSBOM) { ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_Material_Not_In_SBOM")); this.edtMetrialLotNo.TextFocus(false, true); return; } //end //检查是否需要再加载到Grid上 bool dateHaveExist = false; for (int i = 0; i < ultraGridMetrialDetial.Rows.Count; i++) { if (ultraGridMetrialDetial.Rows[i].Cells["MetrialLot"].Value.ToString().ToUpper() == materialLotWithItemDesc.MaterialLotNo.ToUpper()) { dateHaveExist = true; break; } } if (!dateHaveExist) { this.LoadGrid(new object[] { materialLotWithItemDesc }); } //end this.edtMetrialLotNo.TextFocus(false, true); } }
public ServiceResult Run(RunMethod runMethod) { /*---------- Get WebService URL and UserName and Password -------------*/ SAPWebServiceEntity webServiceEntity = System.Configuration.ConfigurationManager.GetSection("StandardBOMTransferConfig") as SAPWebServiceEntity; if (webServiceEntity == null) { return(new ServiceResult(false, "没有维护StandardBOMTransferConfig对应的Service地址", this.m_Argument.TransactionCode)); } #region Begin for Prepare input Paremente // Prepare input parameter DT_MES_MATBOM_REQ standardBOMParameter = new DT_MES_MATBOM_REQ(); standardBOMParameter.Trsactioncode = this.m_Argument.TransactionCode.ToString(); standardBOMParameter.OrgID = this.m_Argument.OrgID.ToString(); if (this.m_Argument.MaterialCode.Trim().Length == 0) { standardBOMParameter.MaintainDate_B = this.m_Argument.MaintainDate_B.Date.ToString("yyyyMMdd", new System.Globalization.CultureInfo("en-US")); standardBOMParameter.MaintainDate_E = this.m_Argument.MaintainDate_E.Date.ToString("yyyyMMdd", new System.Globalization.CultureInfo("en-US")); standardBOMParameter.MaterialCode = ""; } else { standardBOMParameter.MaintainDate_B = ""; standardBOMParameter.MaintainDate_E = ""; standardBOMParameter.MaterialCode = this.m_Argument.MaterialCode.Trim().ToUpper(); } #endregion // Serialize the Input Parameter string xmlFilePath = SerializeUtil.SerializeFile(this.m_Argument.TransactionCode + "_Request.xml", typeof(DT_MES_MATBOM_REQ), standardBOMParameter); #region For Request Log DBDateTime requestDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); SAPDataTransferLog log = new SAPDataTransferLog(); TransferFacade transferFacade = new TransferFacade(this.DataProvider); log.JobID = TransferFacade.StandardBOMTransferJobID; log.TransactionCode = this.m_Argument.TransactionCode; log.TransactionSequence = 1; log.RequestDate = requestDateTime.DBDate; log.RequestTime = requestDateTime.DBTime; log.RequestContent = xmlFilePath; log.OrganizationID = this.m_Argument.OrgID; log.SendRecordCount = 1; transferFacade.AddSAPDataTransferLog(log); #endregion #region Begin for Calling WebService // Call Web Service through StandardBOMServiceClientProxy DT_MES_MATBOM_RSP returnValue; try { StandardBOMServiceClientProxy clientProxy = new StandardBOMServiceClientProxy(); 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, ""); returnValue = clientProxy.MI_MES_MATBOM(standardBOMParameter); clientProxy.Dispose(); clientProxy = null; //Serialize the output Parameter xmlFilePath = SerializeUtil.SerializeFile(this.m_Argument.TransactionCode + "_Response.xml", typeof(DT_MES_MATBOM_RSP), returnValue); // Update Log DBDateTime responseDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); log.ResponseDate = responseDateTime.DBDate; log.ResponseTime = responseDateTime.DBTime; log.ResponseContent = xmlFilePath; transferFacade.UpdateSAPDataTransferLog(log); } catch (Exception e) { log.Result = "Fail"; log.ErrorMessage = e.Message; transferFacade.UpdateSAPDataTransferLog(log); return(new ServiceResult(false, e.Message, log.TransactionCode)); } #endregion /*--- 获取Flag字段,如果FLAG字段值是DEL的话,删除该条;FLAG是空,则判断是否有该数据,有则更新,否则插入该条 ----*/ if (string.Compare(returnValue.FLAG, "Y", true) == 0) { int sBOMCount = returnValue.ITEM.Length; ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = false; ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.OpenConnection(); this.DataProvider.BeginTransaction(); try { SBOMFacade sBOMFacade = new SBOMFacade(this.DataProvider); SBOM sBOM; DT_MES_MATBOM_RSPITEM sBOMObject; bool needAddNew = false; for (int i = 0; i < sBOMCount; i++) { sBOMObject = returnValue.ITEM[i]; if (sBOMObject.ItemCode == null || sBOMObject.ItemCode == string.Empty || sBOMObject.SBItemCode == null || sBOMObject.SBItemCode == string.Empty || sBOMObject.SBOMVer == null || sBOMObject.SBOMVer == string.Empty || sBOMObject.SBItemProject == null || sBOMObject.SBItemProject == string.Empty || sBOMObject.SBItemSeq == null || sBOMObject.SBItemSeq == string.Empty) { continue; } object oldSBOM = sBOMFacade.GetSBOM(InternalVariables.MatchItemCode(sBOMObject.ItemCode).ToUpper(), InternalVariables.MatchItemCode(sBOMObject.SBItemCode).ToUpper(), sBOMObject.SBOMVer, sBOMObject.SBItemProject, sBOMObject.SBItemSeq, int.Parse(standardBOMParameter.OrgID)); if (string.Compare(sBOMObject.FLAG, "DEL", true) == 0) //如果FLAG字段值是DEL的,执行删除操作 { if (oldSBOM != null) { sBOMFacade.DeleteSBOM(oldSBOM as SBOM); } } else if (string.Compare(sBOMObject.FLAG, "", true) == 0) //如果FLAG字段值是空,执行Insert/Update tblsbom操作 { if (oldSBOM == null) //如果为空,则Insert tblsbom { sBOM = sBOMFacade.CreateSBOM(); sBOM.SBOMItemEffectiveDate = 20080101; sBOM.SBOMWH = ""; sBOM.Sequence = sBOMFacade.GetSBOMMaxSequence(sBOM.ItemCode, sBOM.SBOMVersion); sBOM.SBOMItemECN = ""; sBOM.SBOMItemStatus = "0"; sBOM.SBOMItemLocation = ""; sBOM.SBOMItemEffectiveTime = 1; sBOM.SBOMItemInvalidDate = 29991231; sBOM.SBOMItemInvalidTime = 1; sBOM.SBOMItemVersion = ""; sBOM.SBOMItemControlType = ""; sBOM.SBOMParentItemCode = ""; sBOM.ALPGR = ""; sBOM.MaintainUser = "******"; sBOM.EAttribute1 = ""; needAddNew = true; } else { sBOM = oldSBOM as SBOM; needAddNew = false; } sBOM.ItemCode = InternalVariables.MatchItemCode(sBOMObject.ItemCode); //tblsbom 的 PK sBOM.SBOMItemCode = InternalVariables.MatchItemCode(sBOMObject.SBItemCode); sBOM.SBOMSourceItemCode = InternalVariables.MatchItemCode(sBOMObject.SBItemCode); sBOM.SBOMItemQty = decimal.Parse(sBOMObject.SBItemQTY); sBOM.OrganizationID = int.Parse(standardBOMParameter.OrgID); sBOM.SBOMVersion = sBOMObject.SBOMVer; //sBOM.SBOMItemName = sBOMObject.SBItemDesc; //sBOM.SBOMItemDescription = sBOMObject.SBItemDesc; sBOM.SBOMItemName = ""; sBOM.SBOMItemDescription = ""; sBOM.SBOMItemUOM = sBOMObject.SBItemUOM; //sBOM.ItemDescription = sBOMObject.ItemDesc; sBOM.ItemDescription = ""; sBOM.SBOMFactory = sBOMObject.SBFactory; sBOM.SBOMUsage = sBOMObject.SBUsage; sBOM.SBOMItemProject = sBOMObject.SBItemProject; sBOM.SBOMItemSequence = sBOMObject.SBItemSeq; sBOM.Location = sBOMObject.SBItemPotx1; if (needAddNew) { sBOMFacade.AddSBOM(sBOM); } else { sBOMFacade.UpdateSBOM(sBOM); } } } this.DataProvider.CommitTransaction(); log.Result = "OK"; log.ErrorMessage = ""; } catch (Exception ex) { this.DataProvider.RollbackTransaction(); // Log log.Result = "Fail"; log.ErrorMessage = ex.Message; } finally { ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.CloseConnection(); ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = true; } log.ReceivedRecordCount = sBOMCount; DBDateTime finishedDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); log.FinishedDate = finishedDateTime.DBDate; log.FinishedTime = finishedDateTime.DBTime; transferFacade.UpdateSAPDataTransferLog(log); if (log.Result == "OK") { return(new ServiceResult(true, "", log.TransactionCode)); } else { return(new ServiceResult(false, log.ErrorMessage, log.TransactionCode)); } } else //FLAG != "Y" { log.Result = "Fail"; log.ErrorMessage = returnValue.message; log.ReceivedRecordCount = 0; transferFacade.UpdateSAPDataTransferLog(log); return(new ServiceResult(false, log.ErrorMessage, log.TransactionCode)); } }