public static BankTDS GetPBankRecords() { BankTDS ReturnValue = new BankTDS(); TDBTransaction ReadTransaction = new TDBTransaction(); DBAccess.ReadTransaction( ref ReadTransaction, delegate { const string QUERY_BANKRECORDS = "SELECT PUB_p_bank.*, PUB_p_partner.p_status_code_c, PUB_p_location.* " + "FROM PUB_p_bank JOIN PUB_p_partner ON PUB_p_partner.p_partner_key_n = PUB_p_bank.p_partner_key_n " + "LEFT OUTER JOIN PUB_p_partner_location ON PUB_p_bank.p_partner_key_n = PUB_p_partner_location.p_partner_key_n " + "AND (PUB_p_partner_location.p_date_good_until_d IS NULL OR PUB_p_partner_location.p_date_good_until_d >= DATE(NOW())) " + "JOIN PUB_p_location ON PUB_p_partner_location.p_site_key_n = PUB_p_location.p_site_key_n " + "AND PUB_p_partner_location.p_location_key_i = PUB_p_location.p_location_key_i"; ReadTransaction.DataBaseObj.Select(ReturnValue, QUERY_BANKRECORDS, ReturnValue.PBank.TableName, ReadTransaction, null); foreach (BankTDSPBankRow Row in ReturnValue.PBank.Rows) { // mark inactive bank accounts if (Row.StatusCode != SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscACTIVE)) { Row.BranchCode = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " " + Row.BranchCode; } } }); return(ReturnValue); }
/// <summary> /// Opens a Modal instance of the Bank Find Dialog. /// </summary> /// <param name="ABankDataset">Dataset containing bank data (can be null)</param> /// <param name="ABankKey">Matching partner key for selected bank</param> /// <param name="AParentForm"></param> /// <returns>True if a bank was found and accepted by the user, /// otherwise false.</returns> public static bool OpenModalForm( ref BankTDS ABankDataset, ref Int64 ABankKey, Form AParentForm) { DialogResult dlgResult; TFrmBankFindDialog BankFind = new TFrmBankFindDialog(AParentForm); BankFind.SetParameters(ABankDataset, ABankKey); BankFind.LoadDataGrid(true); dlgResult = BankFind.ShowDialog(); ABankKey = 0; if (dlgResult == DialogResult.OK) { ABankKey = BankFind.BankPartnerKey; ABankDataset = BankFind.MainDS; return(true); } return(false); }
public static BankTDS GetPBankRecords() { TDBTransaction ReadTransaction; Boolean NewTransaction; BankTDS ReturnValue = new BankTDS(); ReadTransaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum, out NewTransaction); try { string QueryBankRecords = "SELECT PUB_p_bank.*, PUB_p_partner.p_status_code_c, PUB_p_location.* " + "FROM PUB_p_bank JOIN PUB_p_partner ON PUB_p_partner.p_partner_key_n = PUB_p_bank.p_partner_key_n " + "LEFT OUTER JOIN PUB_p_partner_location ON PUB_p_bank.p_partner_key_n = PUB_p_partner_location.p_partner_key_n " + "AND (PUB_p_partner_location.p_date_good_until_d IS NULL OR PUB_p_partner_location.p_date_good_until_d >= DATE(NOW())) " + "JOIN PUB_p_location ON PUB_p_partner_location.p_site_key_n = PUB_p_location.p_site_key_n " + "AND PUB_p_partner_location.p_location_key_i = PUB_p_location.p_location_key_i"; DBAccess.GDBAccessObj.Select(ReturnValue, QueryBankRecords, ReturnValue.PBank.TableName, ReadTransaction, null); foreach (BankTDSPBankRow Row in ReturnValue.PBank.Rows) { // mark inactive bank accounts if (Row.StatusCode != SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscACTIVE)) { Row.BranchCode = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " " + Row.BranchCode; } } } finally { if (NewTransaction) { DBAccess.GDBAccessObj.RollbackTransaction(); TLogging.LogAtLevel(7, "TPartnerDataReaderWebConnector.GetPBankRecords: committed own transaction."); } } return(ReturnValue); }
public static BankTDS GetPBankRecords() { BankTDS ReturnValue = new BankTDS(); TDBTransaction ReadTransaction = null; // Automatic handling of a Read-only DB Transaction - and also the automatic establishment and closing of a DB // Connection where a DB Transaction can be exectued (only if that should be needed). DBAccess.SimpleAutoReadTransactionWrapper( IsolationLevel.ReadCommitted, "TPartnerDataReaderWebConnector.GetPBankRecords", out ReadTransaction, delegate { const string QUERY_BANKRECORDS = "SELECT PUB_p_bank.*, PUB_p_partner.p_status_code_c, PUB_p_location.* " + "FROM PUB_p_bank JOIN PUB_p_partner ON PUB_p_partner.p_partner_key_n = PUB_p_bank.p_partner_key_n " + "LEFT OUTER JOIN PUB_p_partner_location ON PUB_p_bank.p_partner_key_n = PUB_p_partner_location.p_partner_key_n " + "AND (PUB_p_partner_location.p_date_good_until_d IS NULL OR PUB_p_partner_location.p_date_good_until_d >= DATE(NOW())) " + "JOIN PUB_p_location ON PUB_p_partner_location.p_site_key_n = PUB_p_location.p_site_key_n " + "AND PUB_p_partner_location.p_location_key_i = PUB_p_location.p_location_key_i"; DBAccess.GetDBAccessObj(ReadTransaction).Select(ReturnValue, QUERY_BANKRECORDS, ReturnValue.PBank.TableName, ReadTransaction, null); foreach (BankTDSPBankRow Row in ReturnValue.PBank.Rows) { // mark inactive bank accounts if (Row.StatusCode != SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscACTIVE)) { Row.BranchCode = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " " + Row.BranchCode; } } }); return(ReturnValue); }
public static BankTDS GetPBankRecords() { BankTDS ReturnValue = new BankTDS(); TDBTransaction ReadTransaction = null; // Need to use 'GetNewOrExistingAutoReadTransaction' rather than 'BeginAutoReadTransaction' to allow // switching to the 'Find by Bank Details' on Partner Find while a Report is calculating (Bug #3877). DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction( IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum, ref ReadTransaction, delegate { const string QUERY_BANKRECORDS = "SELECT PUB_p_bank.*, PUB_p_partner.p_status_code_c, PUB_p_location.* " + "FROM PUB_p_bank JOIN PUB_p_partner ON PUB_p_partner.p_partner_key_n = PUB_p_bank.p_partner_key_n " + "LEFT OUTER JOIN PUB_p_partner_location ON PUB_p_bank.p_partner_key_n = PUB_p_partner_location.p_partner_key_n " + "AND (PUB_p_partner_location.p_date_good_until_d IS NULL OR PUB_p_partner_location.p_date_good_until_d >= DATE(NOW())) " + "JOIN PUB_p_location ON PUB_p_partner_location.p_site_key_n = PUB_p_location.p_site_key_n " + "AND PUB_p_partner_location.p_location_key_i = PUB_p_location.p_location_key_i"; DBAccess.GDBAccessObj.Select(ReturnValue, QUERY_BANKRECORDS, ReturnValue.PBank.TableName, ReadTransaction, null); foreach (BankTDSPBankRow Row in ReturnValue.PBank.Rows) { // mark inactive bank accounts if (Row.StatusCode != SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscACTIVE)) { Row.BranchCode = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " " + Row.BranchCode; } } }); return(ReturnValue); }
/// <summary> /// Used for passing a Partner's partner key to the screen before the screen is actually shown. /// </summary> public void SetParameters(BankTDS ABankDataset, Int64 ABankKey) { FMainDS = ABankDataset; FBankPartnerKey = ABankKey; }
/// <summary> /// Load data into grid /// </summary> /// <param name="AFirstTime">True if being run for the first time</param> public void LoadDataGrid(bool AFirstTime) { // Only call data from server if the dataset is actually empty. // (A filled dataset is passed to this screen from the 'Finance Details' tab and 'Find By Bank Details'.) if ((FMainDS == null) || (FMainDS.PBank.Rows.Count == 0)) { FMainDS = new BankTDS(); FMainDS.Merge(TRemote.MPartner.Partner.WebConnectors.GetPBankRecords()); } FCriteriaData.Clear(); if (AFirstTime) { // setup the grid on first run SetupGrid(); } // create a new row for each bank record foreach (BankTDSPBankRow BankRow in FMainDS.PBank.Rows) { if (BankRow.PartnerKey >= 0) { DataRow NewBankRow = FCriteriaData.NewRow(); NewBankRow[PBankTable.GetPartnerKeyDBName()] = BankRow.PartnerKey; NewBankRow[BankTDSPBankTable.GetCityDBName()] = BankRow.City; NewBankRow[BankTDSPBankTable.GetCountryCodeDBName()] = BankRow.CountryCode; NewBankRow[PBankTable.GetBranchNameDBName()] = BankRow.BranchName; if (BankRow.BranchCode.StartsWith(SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " ")) { NewBankRow[PBankTable.GetBranchCodeDBName()] = BankRow.BranchCode.Substring(11); } else if (BankRow.BranchCode.StartsWith(SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS)) { NewBankRow[PBankTable.GetBranchCodeDBName()] = BankRow.BranchCode.Substring(10); } else { NewBankRow[PBankTable.GetBranchCodeDBName()] = BankRow.BranchCode; } NewBankRow[BankTDSPBankTable.GetSiteKeyDBName()] = BankRow.SiteKey; NewBankRow[BankTDSPBankTable.GetLocationKeyDBName()] = BankRow.LocationKey; NewBankRow[PBankTable.GetBicDBName()] = BankRow.Bic; NewBankRow[BankTDSPBankTable.GetStatusCodeDBName()] = BankRow.StatusCode; FCriteriaData.Rows.Add(NewBankRow); } } // sort order for grid DataView MyDataView = FCriteriaData.DefaultView; MyDataView.Sort = "p_branch_name_c ASC"; grdDetails.DataSource = new DevAge.ComponentModel.BoundDataView(MyDataView); SelectRowInGrid(); FinishButtonPanelSetup(); Filter(this, null); }
/// <summary> /// Populates cmbBankName and cmbBankCode (loads data from database if needed) /// </summary> public void PopulateBankComboBoxes() { // temporily remove events from comboboxes cmbBankName.SelectedValueChanged -= new System.EventHandler(this.BankNameChanged); cmbBankCode.SelectedValueChanged -= new System.EventHandler(this.BankCodeChanged); // Load bank records. (I don't think this will ever be null. Database is populated when tab is loaded.) if (FBankDataset == null) { FBankDataset = TRemote.MPartner.Partner.WebConnectors.GetPBankRecords(); } txtBankKey.DataSet = FBankDataset; // create new datatable without any partnerkey duplicates (same bank with different locations) PBankTable ComboboxTable = new PBankTable(); foreach (BankTDSPBankRow Row in FBankDataset.PBank.Rows) { if (!ComboboxTable.Rows.Contains(Row.PartnerKey)) { PBankRow AddRow = (PBankRow)ComboboxTable.NewRow(); AddRow.PartnerKey = Row.PartnerKey; AddRow.BranchName = Row.BranchName; AddRow.BranchCode = Row.BranchCode; ComboboxTable.Rows.Add(AddRow); } } // add empty row DataRow emptyRow = ComboboxTable.NewRow(); emptyRow[PBankTable.ColumnPartnerKeyId] = -1; emptyRow[PBankTable.ColumnBranchNameId] = Catalog.GetString(""); emptyRow[PBankTable.ColumnBranchCodeId] = Catalog.GetString(""); ComboboxTable.Rows.Add(emptyRow); // add inactive row emptyRow = ComboboxTable.NewRow(); emptyRow[PBankTable.ColumnPartnerKeyId] = -2; emptyRow[PBankTable.ColumnBranchNameId] = Catalog.GetString(""); emptyRow[PBankTable.ColumnBranchCodeId] = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " "; ComboboxTable.Rows.Add(emptyRow); // populate the bank name combo box cmbBankName.InitialiseUserControl(ComboboxTable, PBankTable.GetPartnerKeyDBName(), PBankTable.GetBranchNameDBName(), PBankTable.GetBranchCodeDBName(), null); cmbBankName.Filter = PBankTable.GetBranchNameDBName() + " <> '' OR " + PBankTable.GetBranchNameDBName() + " = '' AND " + PBankTable.GetBranchCodeDBName() + " = ''"; cmbBankName.SelectedValueChanged += new System.EventHandler(this.BankNameChanged); // populate the bank code combo box cmbBankCode.InitialiseUserControl(ComboboxTable, PBankTable.GetBranchCodeDBName(), PBankTable.GetPartnerKeyDBName(), null); // filter rows that are blank or <INACTIVE> cmbBankCode.Filter = "(" + PBankTable.GetBranchCodeDBName() + " <> '' AND " + PBankTable.GetBranchCodeDBName() + " <> '" + SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " ') " + "OR (" + PBankTable.GetBranchNameDBName() + " = '' AND " + PBankTable.GetBranchCodeDBName() + " = '') " + "OR (" + PBankTable.GetBranchNameDBName() + " = '' AND " + PBankTable.GetBranchCodeDBName() + " = '" + SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " ')"; cmbBankCode.SelectedValueChanged += new System.EventHandler(this.BankCodeChanged); FComboBoxesCreated = true; }
/// <summary> /// add a new batch /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void NewRow(System.Object sender, EventArgs e) { if (FBankDataset == null) { Cursor.Current = Cursors.WaitCursor; // load bank records FBankDataset = TRemote.MPartner.Partner.WebConnectors.GetPBankRecords(); txtBankKey.DataSet = FBankDataset; // populate the comboboxes for Bank Name and Bank Code PopulateComboBoxes(); Cursor.Current = Cursors.Default; } FValidateBankingDetailsExtra = true; this.CreateNewPBankingDetails(); }
private void PopulateComboBoxes() { // For some reason this method enables the save button // temporarily remove the event that enables the save button when data is changed FPetraUtilsObject.ActionEnablingEvent -= ((TFrmPartnerEdit)FPetraUtilsObject.GetForm()).ActionEnabledEvent; bool HasChanges = FPetraUtilsObject.HasChanges; // temporily remove events from comboboxes cmbBankName.SelectedValueChanged -= new System.EventHandler(this.BankNameChanged); cmbBankCode.SelectedValueChanged -= new System.EventHandler(this.BankCodeChanged); // load bank records if (FBankDataset == null) { FBankDataset = TRemote.MPartner.Partner.WebConnectors.GetPBankRecords(); txtBankKey.DataSet = FBankDataset; } // create new datatable without any partnerkey duplicates (same bank with different locations) PBankTable ComboboxTable = new PBankTable(); bool CreateInactiveCode = false; foreach (BankTDSPBankRow Row in FBankDataset.PBank.Rows) { if (!ComboboxTable.Rows.Contains(Row.PartnerKey)) { PBankRow AddRow = (PBankRow)ComboboxTable.NewRow(); AddRow.PartnerKey = Row.PartnerKey; AddRow.BranchName = Row.BranchName; AddRow.BranchCode = Row.BranchCode; ComboboxTable.Rows.Add(AddRow); if (Row.BranchCode == SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " ") { CreateInactiveCode = true; } } } // add empty row DataRow emptyRow = ComboboxTable.NewRow(); emptyRow[PBankTable.ColumnPartnerKeyId] = -1; emptyRow[PBankTable.ColumnBranchNameId] = Catalog.GetString(""); emptyRow[PBankTable.ColumnBranchCodeId] = Catalog.GetString(""); ComboboxTable.Rows.Add(emptyRow); if (CreateInactiveCode) { // add inactive row emptyRow = ComboboxTable.NewRow(); emptyRow[PBankTable.ColumnPartnerKeyId] = -2; emptyRow[PBankTable.ColumnBranchNameId] = Catalog.GetString(""); emptyRow[PBankTable.ColumnBranchCodeId] = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " "; ComboboxTable.Rows.Add(emptyRow); } // populate the bank name combo box cmbBankName.InitialiseUserControl(ComboboxTable, PBankTable.GetPartnerKeyDBName(), PBankTable.GetBranchNameDBName(), PBankTable.GetBranchCodeDBName(), null); cmbBankName.AppearanceSetup(new int[] { 230, 160 }, -1); cmbBankName.Filter = PBankTable.GetBranchNameDBName() + " <> '' OR " + PBankTable.GetBranchNameDBName() + " = '' AND " + PBankTable.GetBranchCodeDBName() + " = ''"; cmbBankName.SelectedValueChanged += new System.EventHandler(this.BankNameChanged); // populate the bank code combo box cmbBankCode.InitialiseUserControl(ComboboxTable, PBankTable.GetBranchCodeDBName(), PBankTable.GetPartnerKeyDBName(), null); cmbBankCode.AppearanceSetup(new int[] { 210 }, -1); // filter rows that are blank or <INACTIVE> cmbBankCode.Filter = "(" + PBankTable.GetBranchCodeDBName() + " <> '' AND " + PBankTable.GetBranchCodeDBName() + " <> '" + SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " ') " + "OR (" + PBankTable.GetBranchNameDBName() + " = '' AND " + PBankTable.GetBranchCodeDBName() + " = '') " + "OR (" + PBankTable.GetBranchNameDBName() + " = '' AND " + PBankTable.GetBranchCodeDBName() + " = '" + SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " ')"; cmbBankCode.SelectedValueChanged += new System.EventHandler(this.BankCodeChanged); FComboBoxesCreated = true; if ((FPreviouslySelectedDetailRow != null) && (FPreviouslySelectedDetailRow.BankKey != 0) && (((FCurrentBankRow == null) || (FPreviouslySelectedDetailRow.BankKey != FCurrentBankRow.PartnerKey)))) { PartnerKeyChanged(FPreviouslySelectedDetailRow.BankKey, "", true); } FPetraUtilsObject.ActionEnablingEvent += ((TFrmPartnerEdit)FPetraUtilsObject.GetForm()).ActionEnabledEvent; FPetraUtilsObject.HasChanges = HasChanges; }
private void pnlDetails_VisibleChanged(System.Object sender, System.EventArgs e) { // if FindByBankDetails tab is selected and there is at least 1 row in the grid if (pnlDetails.Visible && (FBankDataset == null) && (grdDetails.Rows.Count > 1)) { Cursor.Current = Cursors.WaitCursor; // load bank records FBankDataset = TRemote.MPartner.Partner.WebConnectors.GetPBankRecords(); txtBankKey.DataSet = FBankDataset; // populate the comboboxes for Bank Name and Bank Code PopulateComboBoxes(); Cursor.Current = Cursors.Default; } }
public static BankTDS GetPBankRecords() { BankTDS ReturnValue = new BankTDS(); TDBTransaction ReadTransaction = null; // Need to use 'GetNewOrExistingAutoReadTransaction' rather than 'BeginAutoReadTransaction' to allow // switching to the 'Find by Bank Details' on Partner Find while a Report is calculating (Bug #3877). DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction( IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum, ref ReadTransaction, delegate { const string QUERY_BANKRECORDS = "SELECT PUB_p_bank.*, PUB_p_partner.p_status_code_c, PUB_p_location.* " + "FROM PUB_p_bank JOIN PUB_p_partner ON PUB_p_partner.p_partner_key_n = PUB_p_bank.p_partner_key_n " + "LEFT OUTER JOIN PUB_p_partner_location ON PUB_p_bank.p_partner_key_n = PUB_p_partner_location.p_partner_key_n " + "AND (PUB_p_partner_location.p_date_good_until_d IS NULL OR PUB_p_partner_location.p_date_good_until_d >= DATE(NOW())) " + "JOIN PUB_p_location ON PUB_p_partner_location.p_site_key_n = PUB_p_location.p_site_key_n " + "AND PUB_p_partner_location.p_location_key_i = PUB_p_location.p_location_key_i"; DBAccess.GDBAccessObj.Select(ReturnValue, QUERY_BANKRECORDS, ReturnValue.PBank.TableName, ReadTransaction, null); foreach (BankTDSPBankRow Row in ReturnValue.PBank.Rows) { // mark inactive bank accounts if (Row.StatusCode != SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscACTIVE)) { Row.BranchCode = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " " + Row.BranchCode; } } }); return ReturnValue; }
/// <summary> /// Opens a Modal instance of the Bank Find Dialog. /// </summary> /// <param name="ABankDataset">Dataset containing bank data (can be null)</param> /// <param name="ABankKey">Matching partner key for selected bank</param> /// <param name="AParentForm"></param> /// <returns>True if a bank was found and accepted by the user, /// otherwise false.</returns> public static bool OpenModalForm( ref BankTDS ABankDataset, ref Int64 ABankKey, Form AParentForm) { DialogResult dlgResult; TFrmBankFindDialog BankFind = new TFrmBankFindDialog(AParentForm); BankFind.SetParameters(ABankDataset, ABankKey); BankFind.LoadDataGrid(true); dlgResult = BankFind.ShowDialog(); ABankKey = 0; if (dlgResult == DialogResult.OK) { ABankKey = BankFind.BankPartnerKey; ABankDataset = BankFind.MainDS; return true; } return false; }
// Called when the dataset is changed in the FindBank dialog private void DatasetChanged(DataSet ADataset) { FBankDataset = (BankTDS)ADataset; PopulateComboBoxes(); }
public static BankTDS GetPBankRecords() { TDBTransaction ReadTransaction; Boolean NewTransaction; BankTDS ReturnValue = new BankTDS(); ReadTransaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum, out NewTransaction); try { string QueryBankRecords = "SELECT PUB_p_bank.*, PUB_p_partner.p_status_code_c, PUB_p_location.* " + "FROM PUB_p_bank JOIN PUB_p_partner ON PUB_p_partner.p_partner_key_n = PUB_p_bank.p_partner_key_n " + "LEFT OUTER JOIN PUB_p_partner_location ON PUB_p_bank.p_partner_key_n = PUB_p_partner_location.p_partner_key_n " + "AND (PUB_p_partner_location.p_date_good_until_d IS NULL OR PUB_p_partner_location.p_date_good_until_d >= DATE(NOW())) " + "JOIN PUB_p_location ON PUB_p_partner_location.p_site_key_n = PUB_p_location.p_site_key_n " + "AND PUB_p_partner_location.p_location_key_i = PUB_p_location.p_location_key_i"; DBAccess.GDBAccessObj.Select(ReturnValue, QueryBankRecords, ReturnValue.PBank.TableName, ReadTransaction, null); foreach (BankTDSPBankRow Row in ReturnValue.PBank.Rows) { // mark inactive bank accounts if (Row.StatusCode != SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscACTIVE)) { Row.BranchCode = SharedConstants.INACTIVE_VALUE_WITH_QUALIFIERS + " " + Row.BranchCode; } } } finally { if (NewTransaction) { DBAccess.GDBAccessObj.RollbackTransaction(); TLogging.LogAtLevel(7, "TPartnerDataReaderWebConnector.GetPBankRecords: committed own transaction."); } } return ReturnValue; }