Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 8
0
 /// <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;
 }
Exemplo n.º 9
0
        /// <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);
        }
Exemplo n.º 10
0
        /// <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;
            }
        }
Exemplo n.º 14
0
        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();
 }
Exemplo n.º 17
0
        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;
        }