PopulateEdgesTable
(
EmailParticipantPair [] aoEmailParticipantPairs
)
{
Debug.Assert(aoEmailParticipantPairs != null);
Debug.Assert(m_oEdgeTable != null);
AssertValid();
Int32 iEmailParticipantPairs = aoEmailParticipantPairs.Length;
if (iEmailParticipantPairs == 0)
{
return;
}
// Create and populate an array of edge weights.
Object [,] aoEdgeWeights = new Object [iEmailParticipantPairs, 1];
for (Int32 i = 0; i < iEmailParticipantPairs; i++)
{
EmailParticipantPair oEmailParticipantPair =
aoEmailParticipantPairs[i];
// Modify the pariticpant strings.
oEmailParticipantPair.Participant1 =
AnalyzerToParticipant(oEmailParticipantPair.Participant1);
oEmailParticipantPair.Participant2 =
AnalyzerToParticipant(oEmailParticipantPair.Participant2);
aoEdgeWeights[i, 0] = oEmailParticipantPair.EdgeWeight.ToString();
}
Int32 iRowOffsetToWriteTo = 0;
if (!m_bClearTablesFirst)
{
iRowOffsetToWriteTo = ExcelTableUtil.GetOffsetOfFirstEmptyTableRow(
m_oEdgeTable);
}
// Write the arrays to the edge table.
NodeXLWorkbookUtil.PopulateEdgeTableWithParticipantPairs(
m_oEdgeTable, aoEmailParticipantPairs, iRowOffsetToWriteTo);
SetEdgeWeightValues(aoEdgeWeights, iRowOffsetToWriteTo);
ExcelUtil.ActivateWorksheet(m_oEdgeTable);
}