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

StartAnalysis() protected method

protected StartAnalysis ( ) : void
return void
    StartAnalysis()
    {
        AssertValid();

        EmailParticipantCriteria [] aoParticipantsCriteria = null;
        Nullable<DateTime> oStartTime = null;
        Nullable<DateTime> oEndTime = null;
        String sSubjectText = null;
        String sBodyText = null;
        String sFolder = null;
        Nullable<Int64> lMinimumSize = null;
        Nullable<Int64> lMaximumSize = null;
        Nullable<AttachmentFilter> eAttachmentFilter = null;
        Nullable<Boolean> bHasCc = null;
        Nullable<Boolean> bHasBcc = null;
        Nullable<Boolean> bIsReplyFromParticipant1 = null;

        if (!m_oAnalyzeEmailNetworkDialogUserSettings.AnalyzeAllEmail)
        {
            aoParticipantsCriteria =
                m_oAnalyzeEmailNetworkDialogUserSettings.ParticipantsCriteria;

            oStartTime = m_oAnalyzeEmailNetworkDialogUserSettings.StartTime;
            oEndTime = m_oAnalyzeEmailNetworkDialogUserSettings.EndTime;

            if (oEndTime.HasValue)
            {
                // EmailNetworkAnalyzer allows any DateTime values for the
                // start and end times, not just dates with zero times.  This
                // dialog uses only dates with zero times, however.  Therefore,
                // when the user specifies 4/1/2008 as an end time, for
                // example, it needs to be converted to midnight of 4/2/2008.

                oEndTime = m_oAnalyzeEmailNetworkDialogUserSettings.
                    EndTime.Value.AddDays(1);
            }

            sSubjectText =
                m_oAnalyzeEmailNetworkDialogUserSettings.SubjectText;

            sBodyText = m_oAnalyzeEmailNetworkDialogUserSettings.BodyText;

            sFolder = m_oAnalyzeEmailNetworkDialogUserSettings.Folder;

            lMinimumSize =
                m_oAnalyzeEmailNetworkDialogUserSettings.MinimumSize;

            lMaximumSize =
                m_oAnalyzeEmailNetworkDialogUserSettings.MaximumSize;

            eAttachmentFilter =
                m_oAnalyzeEmailNetworkDialogUserSettings.AttachmentFilter;

            bHasCc = m_oAnalyzeEmailNetworkDialogUserSettings.HasCc;
            bHasBcc = m_oAnalyzeEmailNetworkDialogUserSettings.HasBcc;
        }

        // Start the analysis.

        m_oEmailNetworkAnalyzer.AnalyzeEmailNetworkAsync(
            aoParticipantsCriteria, oStartTime, oEndTime, sSubjectText,
            sBodyText, sFolder, lMinimumSize, lMaximumSize, eAttachmentFilter,
            bHasCc, bHasBcc, bIsReplyFromParticipant1,
            m_oAnalyzeEmailNetworkDialogUserSettings.UseCcForEdgeWeights,
            m_oAnalyzeEmailNetworkDialogUserSettings.UseBccForEdgeWeights
            );
    }