Example #1
0
    /// <summary>
    /// Loads account-contact role collisions.
    /// </summary>
    private void LoadContactCollisions()
    {
        StringBuilder resultQuery = new StringBuilder("ContactID IN (" + mParentContact.ContactID);

        foreach (DataRow dr in mMergedContacts.Tables[0].Rows)
        {
            resultQuery.Append("," + dr["ContactID"]);
        }
        resultQuery.Append(")");
        // Get all account-contact relations
        DataSet relations = new ContactAccountListInfo().Generalized.GetData(null, resultQuery.ToString(), null, -1, "AccountID,AccountName,ContactRoleID", false);

        // Group by AccountID to get distinct results
        DataTable result       = relations.Tables[0].DefaultView.ToTable(true, "AccountID");
        int       totalMerging = 0;

        // Display contact-account relations
        if (!DataHelper.DataSourceIsEmpty(result))
        {
            // Display prefix
            Literal prepend = new Literal();
            prepend.Text = "<div class=\"form-horizontal\">";
            plcAccountContact.Controls.Add(prepend);

            // Display collisions
            foreach (DataRow dr in result.Rows)
            {
                totalMerging += DisplayRoleCollisions(ValidationHelper.GetInteger(dr[0], 0), relations);
            }

            // Display suffix if any relation found
            if (totalMerging > 0)
            {
                Literal append = new Literal();
                append.Text = "</div>";
                plcAccountContact.Controls.Add(append);
                headContactInfo.ResourceString = "om.contact.accountroles";
            }
            else
            {
                tabContacts.HeaderText    = null;
                tabContacts.Visible       = false;
                plcAccountContact.Visible = false;
            }
        }
        // Hide content
        else
        {
            tabContacts.HeaderText    = null;
            tabContacts.Visible       = false;
            plcAccountContact.Visible = false;
        }
    }
    /// <summary>
    /// Loads account-contact role collisions.
    /// </summary>
    private void LoadContactCollisions()
    {
        StringBuilder resultQuery = new StringBuilder("ContactID IN (" + mParentContact.ContactID);
        foreach (DataRow dr in mMergedContacts.Tables[0].Rows)
        {
            resultQuery.Append("," + dr["ContactID"]);
        }
        resultQuery.Append(")");
        // Get all account-contact relations
        DataSet relations = new ContactAccountListInfo().Generalized.GetData(null, resultQuery.ToString(), null, -1, "AccountID,AccountName,ContactRoleID", false);

        // Group by AccountID to get distinct results
        DataTable result = relations.Tables[0].DefaultView.ToTable(true, "AccountID");
        int totalMerging = 0;

        // Display contact-account relations
        if (!DataHelper.DataSourceIsEmpty(result))
        {
            // Display prefix
            Literal prepend = new Literal();
            prepend.Text = "<div class=\"form-horizontal\">";
            plcAccountContact.Controls.Add(prepend);

            // Display collisions
            foreach (DataRow dr in result.Rows)
            {
                totalMerging += DisplayRoleCollisions(ValidationHelper.GetInteger(dr[0], 0), relations);
            }

            // Display suffix if any relation found
            if (totalMerging > 0)
            {
                Literal append = new Literal();
                append.Text = "</div>";
                plcAccountContact.Controls.Add(append);
                headContactInfo.ResourceString = "om.contact.accountroles";
            }
            else
            {
                tabContacts.HeaderText = null;
                tabContacts.Visible = false;
                plcAccountContact.Visible = false;
            }
        }
            // Hide content
        else
        {
            tabContacts.HeaderText = null;
            tabContacts.Visible = false;
            plcAccountContact.Visible = false;
        }
    }