/// <summary>
        /// Populates the grid for the dialog for selecting Addresses to be merged.
        /// </summary>
        public bool InitializeContactDetailGrid(long AFromPartnerKey, long AToPartnerKey)
        {
            // set text for label
            lblInfo.Text = Catalog.GetString(
                "The following contact details exist for the Partner being merged. Select the contact details to be transferred.") +
                           "\n\n" + Catalog.GetString("Any contact details which are not selected will be deleted!");

            string CheckedMember       = "CHECKED";
            string ContactCategory     = PartnerEditTDSPPartnerAttributeTable.GetCategoryCodeDBName();
            string ContactType         = PPartnerAttributeTable.GetAttributeTypeDBName();
            string Sequence            = PPartnerAttributeTable.GetSequenceDBName();
            string Value               = PPartnerAttributeTable.GetValueDBName();
            string Primary             = PPartnerAttributeTable.GetPrimaryDBName();
            string Business            = PPartnerAttributeTable.GetSpecialisedDBName();
            string Current             = PPartnerAttributeTable.GetCurrentDBName();
            string NoLongerCurrentFrom = PPartnerAttributeTable.GetNoLongerCurrentFromDBName();
            string Comment             = PPartnerAttributeTable.GetCommentDBName();


            PartnerEditTDSPPartnerAttributeTable ContactDetails =
                TRemote.MPartner.Partner.WebConnectors.GetPartnerContactDetails(AFromPartnerKey, AToPartnerKey);

            if ((ContactDetails != null) && (ContactDetails.Rows.Count > 0))
            {
                DataView MyDataView = ContactDetails.DefaultView;

                FDataTable = MyDataView.ToTable(true,
                                                new string[] { ContactCategory, ContactType, Sequence, Value, Primary, Business, Current, NoLongerCurrentFrom, Comment });
                FDataTable.Columns.Add(new DataColumn(CheckedMember, typeof(bool)));

                clbRecords.Columns.Clear();
                clbRecords.AddCheckBoxColumn("", FDataTable.Columns[CheckedMember], 17, false);
                clbRecords.AddTextColumn("Category", FDataTable.Columns[ContactCategory]);
                clbRecords.AddTextColumn("Type", FDataTable.Columns[ContactType]);
                clbRecords.AddTextColumn("Value", FDataTable.Columns[Value]);
                clbRecords.AddCheckBoxColumn("Primary", FDataTable.Columns[Primary], true);
                clbRecords.AddCheckBoxColumn("Business", FDataTable.Columns[Business], true);
                clbRecords.AddCheckBoxColumn("Current", FDataTable.Columns[Current], true);
                clbRecords.AddDateColumn("No Longer Current From", FDataTable.Columns[NoLongerCurrentFrom]);
                clbRecords.AddTextColumn("Comment", FDataTable.Columns[Comment]);
                clbRecords.ValueChanged += new EventHandler(OnCheckboxChange);

                clbRecords.DataBindGrid(FDataTable, ContactCategory + ", " + ContactType + ", " + Value, CheckedMember, Value, false, true, false);
                clbRecords.SetCheckedStringList("");

                clbRecords.AutoResizeGrid();

                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        /// <summary>
        /// Count the Partner Contact Details.
        /// </summary>
        /// <param name="ATable">Table with Partner Contact Details. This will be the PPartnerAttribute Table.</param>
        /// <param name="ATotalPartnerContactDetails">returns the total number of Partner Contact Details.</param>
        /// <param name="AActivePartnerContactDetails">returns the number of current Partner Contact Details.</param>
        public static void CalculateTabCountsPartnerContactDetails(PartnerEditTDSPPartnerAttributeTable ATable,
                                                                   out Int32 ATotalPartnerContactDetails, out Int32 AActivePartnerContactDetails)
        {
            // Inspect only CurrentRows (this excludes Deleted DataRows)
            ATotalPartnerContactDetails = new DataView(ATable,
                                                       "PartnerContactDetail = true", "", DataViewRowState.CurrentRows).Count;

            // Inspect only CurrentRows (this excludes Deleted DataRows)
            AActivePartnerContactDetails = new DataView(ATable,
                                                        "PartnerContactDetail = true AND " +
                                                        PPartnerAttributeTable.GetCurrentDBName() + " = true", "",
                                                        DataViewRowState.CurrentRows).Count;
        }
Example #3
0
        public static PartnerEditTDSPPartnerAttributeTable GetPartnerContactDetails(long AFromPartnerKey, long AToPartnerKey)
        {
            PartnerEditTDSPPartnerAttributeTable ReturnTable = new PartnerEditTDSPPartnerAttributeTable();
            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.BeginAutoReadTransaction(IsolationLevel.ReadCommitted,
                                                           ref Transaction,
                                                           delegate
            {
                string Query = "SELECT p_partner_attribute.*, p_partner_attribute_category.p_category_code_c" +
                               " FROM p_partner_attribute, p_partner_attribute_category, p_partner_attribute_type" +
                               " WHERE p_partner_attribute.p_partner_key_n = " + AFromPartnerKey +
                               " AND p_partner_attribute.p_attribute_type_c = p_partner_attribute_type.p_attribute_type_c" +
                               " AND p_partner_attribute_category.p_category_code_c = p_partner_attribute_type.p_category_code_c" +
                               " AND p_partner_attribute_category.p_partner_contact_category_l = 'true'" +

                               // ignore if an identical contact detail exists for the To Partner
                               " AND NOT EXISTS (SELECT *" +
                               " FROM p_partner_attribute AS ToContactDetail" +
                               " WHERE ToContactDetail.p_partner_key_n = " + AToPartnerKey +
                               " AND ToContactDetail.p_attribute_type_c = p_partner_attribute.p_attribute_type_c" +
                               " AND ToContactDetail.p_value_c = p_partner_attribute.p_value_c" +
                               " AND (ToContactDetail.p_comment_c = p_partner_attribute.p_comment_c" +
                               " OR ((ToContactDetail.p_comment_c IS NULL OR ToContactDetail.p_comment_c = '')" +
                               " AND (p_partner_attribute.p_comment_c IS NULL OR p_partner_attribute.p_comment_c = '')))" +
                               " AND ToContactDetail.p_within_organisation_l = p_partner_attribute.p_within_organisation_l" +
                               " AND ToContactDetail.p_specialised_l = p_partner_attribute.p_specialised_l" +
                               " AND ToContactDetail.p_confidential_l = p_partner_attribute.p_confidential_l" +
                               " AND ToContactDetail.p_current_l = p_partner_attribute.p_current_l" +
                               " AND (ToContactDetail.p_no_longer_current_from_d = p_partner_attribute.p_no_longer_current_from_d" +
                               " OR (ToContactDetail.p_no_longer_current_from_d IS NULL" +
                               " AND p_partner_attribute.p_no_longer_current_from_d IS NULL)))";

                DBAccess.GDBAccessObj.SelectDT(ReturnTable, Query, Transaction);
            });

            return(ReturnTable);
        }
        public static PartnerEditTDSPPartnerAttributeTable GetPartnerContactDetails(long AFromPartnerKey, long AToPartnerKey)
        {
            PartnerEditTDSPPartnerAttributeTable ReturnTable = new PartnerEditTDSPPartnerAttributeTable();
            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.BeginAutoReadTransaction(IsolationLevel.ReadCommitted,
                ref Transaction,
                delegate
                {
                    string Query = "SELECT p_partner_attribute.*, p_partner_attribute_category.p_category_code_c" +
                                   " FROM p_partner_attribute, p_partner_attribute_category, p_partner_attribute_type" +
                                   " WHERE p_partner_attribute.p_partner_key_n = " + AFromPartnerKey +
                                   " AND p_partner_attribute.p_attribute_type_c = p_partner_attribute_type.p_attribute_type_c" +
                                   " AND p_partner_attribute_category.p_category_code_c = p_partner_attribute_type.p_category_code_c" +
                                   " AND p_partner_attribute_category.p_partner_contact_category_l = 'true'" +

                                   // ignore if an identical contact detail exists for the To Partner
                                   " AND NOT EXISTS (SELECT *" +
                                   " FROM p_partner_attribute AS ToContactDetail" +
                                   " WHERE ToContactDetail.p_partner_key_n = " + AToPartnerKey +
                                   " AND ToContactDetail.p_attribute_type_c = p_partner_attribute.p_attribute_type_c" +
                                   " AND ToContactDetail.p_value_c = p_partner_attribute.p_value_c" +
                                   " AND (ToContactDetail.p_comment_c = p_partner_attribute.p_comment_c" +
                                   " OR ((ToContactDetail.p_comment_c IS NULL OR ToContactDetail.p_comment_c = '')" +
                                   " AND (p_partner_attribute.p_comment_c IS NULL OR p_partner_attribute.p_comment_c = '')))" +
                                   " AND ToContactDetail.p_within_organisation_l = p_partner_attribute.p_within_organisation_l" +
                                   " AND ToContactDetail.p_specialised_l = p_partner_attribute.p_specialised_l" +
                                   " AND ToContactDetail.p_confidential_l = p_partner_attribute.p_confidential_l" +
                                   " AND ToContactDetail.p_current_l = p_partner_attribute.p_current_l" +
                                   " AND (ToContactDetail.p_no_longer_current_from_d = p_partner_attribute.p_no_longer_current_from_d" +
                                   " OR (ToContactDetail.p_no_longer_current_from_d IS NULL" +
                                   " AND p_partner_attribute.p_no_longer_current_from_d IS NULL)))";

                    DBAccess.GDBAccessObj.SelectDT(ReturnTable, Query, Transaction);
                });

            return ReturnTable;
        }
Example #5
0
        /// <summary>
        /// Count the Partner Contact Details.
        /// </summary>
        /// <param name="ATable">Table with Partner Contact Details. This will be the PPartnerAttribute Table.</param>
        /// <param name="ATotalPartnerContactDetails">returns the total number of Partner Contact Details.</param>
        /// <param name="AActivePartnerContactDetails">returns the number of current Partner Contact Details.</param>
        public static void CalculateTabCountsPartnerContactDetails(PartnerEditTDSPPartnerAttributeTable ATable,
            out Int32 ATotalPartnerContactDetails, out Int32 AActivePartnerContactDetails)
        {
            // Inspect only CurrentRows (this excludes Deleted DataRows)
            ATotalPartnerContactDetails = new DataView(ATable,
                "PartnerContactDetail = true", "", DataViewRowState.CurrentRows).Count;

            // Inspect only CurrentRows (this excludes Deleted DataRows)
            AActivePartnerContactDetails = new DataView(ATable,
                "PartnerContactDetail = true AND " +
                PPartnerAttributeTable.GetCurrentDBName() + " = true", "",
                DataViewRowState.CurrentRows).Count;
        }