/// <summary> /// Loads account-contact role collisions. /// </summary> private void LoadContactCollisions() { StringBuilder resultQuery = new StringBuilder("AccountID IN (" + parentAccount.AccountID); foreach (DataRow dr in mergedAccounts.Tables[0].Rows) { resultQuery.Append("," + dr["AccountID"]); } resultQuery.Append(")"); // Get all account-contact relations DataSet relations = new AccountContactListInfo().Generalized.GetData(null, resultQuery.ToString(), null, -1, "ContactID,ContactFirstName,ContactMiddleName,ContactLastName,ContactRoleID", false); // Group by contactID to get distinct results DataTable result = relations.Tables[0].DefaultView.ToTable(true, "ContactID"); int totalMerging = 0; // Display contact-account relations if (!DataHelper.DataSourceIsEmpty(result)) { // Display prefix Literal prepend = new Literal(); prepend.Text = "<table class=\"CollisionPanel\">"; 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 = "</table>"; plcAccountContact.Controls.Add(append); } else { tabContacts.Visible = false; tabContacts.HeaderText = null; plcAccountContact.Visible = false; } } // Hide content else { tabContacts.Visible = false; tabContacts.HeaderText = null; plcAccountContact.Visible = false; } }
/// <summary> /// Loads account-contact role collisions. /// </summary> private void LoadContactCollisions() { StringBuilder resultQuery = new StringBuilder("AccountID IN (" + mParentAccount.AccountID); foreach (DataRow dr in mMergedAccounts.Tables[0].Rows) { resultQuery.Append("," + dr["AccountID"]); } resultQuery.Append(")"); // Get all account-contact relations DataSet relations = new AccountContactListInfo().Generalized.GetData(null, resultQuery.ToString(), null, -1, "ContactID,ContactFirstName,ContactMiddleName,ContactLastName,ContactRoleID", false); // Group by contactID to get distinct results DataTable result = relations.Tables[0].DefaultView.ToTable(true, "ContactID"); 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); } else { tabContacts.Visible = false; tabContacts.HeaderText = null; plcAccountContact.Visible = false; } } // Hide content else { tabContacts.Visible = false; tabContacts.HeaderText = null; plcAccountContact.Visible = false; } }