Smrf.NodeXL.ExcelTemplate.AnalyzeEmailNetworkDialog.PopulateEdgesTable C# (CSharp) Method

PopulateEdgesTable() protected method

protected PopulateEdgesTable ( EmailParticipantPair aoEmailParticipantPairs ) : void
aoEmailParticipantPairs Smrf.SocialNetworkLib.EmailParticipantPair
return void
    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);
    }