/// <summary>
 /// Performs checks to determine whether a deletion of the current
 ///  row is permissable
 /// </summary>
 /// <param name="ARowToDelete">the currently selected row to be deleted</param>
 /// <param name="ADeletionQuestion">can be changed to a context-sensitive deletion confirmation question</param>
 /// <returns>true if user is permitted and able to delete the current row</returns>
 private bool PreDeleteManual(PartnerEditTDSPPartnerInterestRow ARowToDelete, ref string ADeletionQuestion)
 {
     /*Code to execute before the delete can take place*/
     ADeletionQuestion  = Catalog.GetString("Are you sure you want to delete the current row?");
     ADeletionQuestion += String.Format("{0}{0}({1} {2},{0}{3} {4},{0}{5} {6},{0}{7} {8})",
                                        Environment.NewLine,
                                        lblPPartnerInterestInterestCategory.Text,
                                        cmbPPartnerInterestInterestCategory.GetSelectedString(),
                                        lblPPartnerInterestInterest.Text,
                                        cmbPPartnerInterestInterest.GetSelectedString(),
                                        lblPPartnerInterestCountry.Text,
                                        cmbPPartnerInterestCountry.GetSelectedString(),
                                        lblPPartnerInterestFieldKey.Text,
                                        txtPPartnerInterestFieldKey.Text);
     return(true);
 }
        /// <summary>
        /// manual code when adding new row
        /// </summary>
        /// <param name="ARow"></param>
        private void NewRowManual(ref PartnerEditTDSPPartnerInterestRow ARow)
        {
            Int32 HighestNumber = 0;
            PPartnerInterestRow PartnerInterestRow;

            // find the highest number so far and increase it by 1 for the new key
            foreach (PPartnerInterestRow row in FMainDS.PPartnerInterest.Rows)
            {
                PartnerInterestRow = (PPartnerInterestRow)row;

                if (PartnerInterestRow.RowState != DataRowState.Deleted)
                {
                    if (PartnerInterestRow.InterestNumber > HighestNumber)
                    {
                        HighestNumber = PartnerInterestRow.InterestNumber;
                    }
                }
            }

            ARow.PartnerKey     = ((PPartnerRow)FMainDS.PPartner.Rows[0]).PartnerKey;
            ARow.InterestNumber = HighestNumber + 1;
        }
 /// <summary>
 /// Performs checks to determine whether a deletion of the current
 ///  row is permissable
 /// </summary>
 /// <param name="ARowToDelete">the currently selected row to be deleted</param>
 /// <param name="ADeletionQuestion">can be changed to a context-sensitive deletion confirmation question</param>
 /// <returns>true if user is permitted and able to delete the current row</returns>
 private bool PreDeleteManual(PartnerEditTDSPPartnerInterestRow ARowToDelete, ref string ADeletionQuestion)
 {
     /*Code to execute before the delete can take place*/
     ADeletionQuestion = Catalog.GetString("Are you sure you want to delete the current row?");
     ADeletionQuestion += String.Format("{0}{0}({1} {2},{0}{3} {4},{0}{5} {6},{0}{7} {8})",
         Environment.NewLine,
         lblPPartnerInterestInterestCategory.Text,
         cmbPPartnerInterestInterestCategory.GetSelectedString(),
         lblPPartnerInterestInterest.Text,
         cmbPPartnerInterestInterest.GetSelectedString(),
         lblPPartnerInterestCountry.Text,
         cmbPPartnerInterestCountry.GetSelectedString(),
         lblPPartnerInterestFieldKey.Text,
         txtPPartnerInterestFieldKey.Text);
     return true;
 }
 /// <summary>
 /// Code to be run after the deletion process
 /// </summary>
 /// <param name="ARowToDelete">the row that was/was to be deleted</param>
 /// <param name="AAllowDeletion">whether or not the user was permitted to delete</param>
 /// <param name="ADeletionPerformed">whether or not the deletion was performed successfully</param>
 /// <param name="ACompletionMessage">if specified, is the deletion completion message</param>
 private void PostDeleteManual(PartnerEditTDSPPartnerInterestRow ARowToDelete,
     bool AAllowDeletion,
     bool ADeletionPerformed,
     string ACompletionMessage)
 {
     if (ADeletionPerformed)
     {
         DoRecalculateScreenParts();
     }
 }
        /// <summary>
        /// manual code when adding new row
        /// </summary>
        /// <param name="ARow"></param>
        private void NewRowManual(ref PartnerEditTDSPPartnerInterestRow ARow)
        {
            Int32 HighestNumber = 0;
            PPartnerInterestRow PartnerInterestRow;

            // find the highest number so far and increase it by 1 for the new key
            foreach (PPartnerInterestRow row in FMainDS.PPartnerInterest.Rows)
            {
                PartnerInterestRow = (PPartnerInterestRow)row;

                if (PartnerInterestRow.RowState != DataRowState.Deleted)
                {
                    if (PartnerInterestRow.InterestNumber > HighestNumber)
                    {
                        HighestNumber = PartnerInterestRow.InterestNumber;
                    }
                }
            }

            ARow.PartnerKey = ((PPartnerRow)FMainDS.PPartner.Rows[0]).PartnerKey;
            ARow.InterestNumber = HighestNumber + 1;
        }