Inheritance: System.Exception
    //*************************************************************************
    //  Constructor: PartialNetworkDialog()
    //
    /// <overloads>
    /// Initializes a new instance of the <see
    /// cref="PartialNetworkDialog" /> class.
    /// </overloads>
    ///
    /// <summary>
    /// Initializes a new instance of the <see
    /// cref="PartialNetworkDialog" /> class with a <see
    /// cref="PartialNetworkException" />.
    /// </summary>
    ///
    /// <param name="partialNetworkException">
    /// The <see cref="PartialNetworkException" /> that was thrown.
    /// </param>
    ///
    /// <param name="lastUnexpectedExceptionMessage">
    /// The most recent unexpected exception (after retries) that occurred
    /// while getting the network, converted to a message.
    /// </param>
    //*************************************************************************

    public PartialNetworkDialog
    (
        PartialNetworkException partialNetworkException,
        String lastUnexpectedExceptionMessage
    )
    : this()
    {
        m_oPartialNetworkException = partialNetworkException;
        m_sLastUnexpectedExceptionMessage = lastUnexpectedExceptionMessage;

        AssertValid();
    }
        //*************************************************************************
        //  Constructor: PartialNetworkDialog()
        //
        /// <overloads>
        /// Initializes a new instance of the <see
        /// cref="PartialNetworkDialog" /> class.
        /// </overloads>
        ///
        /// <summary>
        /// Initializes a new instance of the <see
        /// cref="PartialNetworkDialog" /> class with a <see
        /// cref="PartialNetworkException" />.
        /// </summary>
        ///
        /// <param name="partialNetworkException">
        /// The <see cref="PartialNetworkException" /> that was thrown.
        /// </param>
        ///
        /// <param name="lastUnexpectedExceptionMessage">
        /// The most recent unexpected exception (after retries) that occurred
        /// while getting the network, converted to a message.
        /// </param>
        //*************************************************************************

        public PartialNetworkDialog
        (
            PartialNetworkException partialNetworkException,
            String lastUnexpectedExceptionMessage
        )
            : this()
        {
            m_oPartialNetworkException        = partialNetworkException;
            m_sLastUnexpectedExceptionMessage = lastUnexpectedExceptionMessage;

            AssertValid();
        }
        OnAnalysisException
        (
            Exception oException
        )
        {
            Debug.Assert(oException != null);
            AssertValid();

            if (oException is PartialNetworkException)
            {
                // Ask the user whether he wants to import the partial network.

                PartialNetworkException oPartialNetworkException =
                    (PartialNetworkException)oException;

                PartialNetworkDialog oPartialNetworkDialog =

                    new PartialNetworkDialog(oPartialNetworkException,

                                             m_oHttpNetworkAnalyzer.ExceptionToMessage(
                                                 oPartialNetworkException.RequestStatistics.
                                                 LastUnexpectedException)
                                             );

                if (oPartialNetworkDialog.ShowDialog() == DialogResult.Yes)
                {
                    OnAnalysisSuccess(oPartialNetworkException.PartialNetwork);
                }
            }
            else
            {
                this.ShowWarning(
                    "The network couldn't be obtained.  Details:"
                    + "\r\n\r\n"
                    + m_oHttpNetworkAnalyzer.ExceptionToMessage(oException)
                    );
            }
        }
Example #4
0
    OnGetNetworkPartialNetworkException
    (
        DateTime oStartTime,
        PartialNetworkException oPartialNetworkException,
        String sNetworkConfigurationFilePath,
        String sNetworkFileFolderPath,
        HttpNetworkAnalyzerBase oHttpNetworkAnalyzerBase
    )
    {
        Debug.Assert(oPartialNetworkException != null);
        Debug.Assert( !String.IsNullOrEmpty(sNetworkConfigurationFilePath) );
        Debug.Assert( !String.IsNullOrEmpty(sNetworkFileFolderPath) );
        Debug.Assert(oHttpNetworkAnalyzerBase != null);

        // Write a text file to let the user know that a partial network was
        // obtained.
        //
        // Sample file path:
        //
        // C:\PartialNetwork_NetworkConfiguration_2010-06-01_02-00-00.txt

        String sFilePath = FileUtil.GetOutputFilePath(oStartTime,
            sNetworkConfigurationFilePath, sNetworkFileFolderPath,
            "PartialNetworkInfo_", "txt");

        using ( StreamWriter oStreamWriter = new StreamWriter(sFilePath) )
        {
            Debug.Assert(oHttpNetworkAnalyzerBase != null);

            oStreamWriter.WriteLine( oPartialNetworkException.ToMessage(
                oHttpNetworkAnalyzerBase.ExceptionToMessage(
                    oPartialNetworkException.RequestStatistics.
                        LastUnexpectedException)
                ) );
        }

        return (oPartialNetworkException.PartialNetwork);
    }