using System;
using System.Web;
namespace Exceptron.Client
{
    /// 
    /// Represents information that will be used to construct an exception report.
    /// 
    public class ExceptionData
    {
        /// 
        /// Exception that is being reported
        /// 
        public Exception Exception { get; set; }
        /// 
        /// Component that experianced this exception.
        /// 
        /// 
        /// It is common to use the logger name that was used to log the exception as the component.
        /// 
        /// 
        /// DataAccess, Configuration, Registration, etc.
        /// 
        public string Component { get; set; }
        /// 
        /// ID that will uniquely identify the user
        /// 
        /// 
        /// This Id does not have to be tied to the user's identity. 
        /// You can use a system generated unique ID such as GUID. 
        /// This field is used to report how many unique users are experiencing an error.
        /// 
        /// 
        /// "62E5C8EF-0CA2-43AB-B278-FC6994F776ED"
        /// "Timmy@aol.com"
        /// "26437"
        /// 
        public string UserId { get; set; }
        /// 
        /// Any message that should be attached to this exceptions
        /// 
        /// 
        /// Something went wrong while checking for application updates.
        /// 
        public string Message { get; set; }
        /// 
        /// Severity of the exception being reported
        /// 
        public ExceptionSeverity Severity { get; set; }
        /// 
        ///  that triggered this exception. If no  is provided
        ///  will try to get the current  from 
        /// 
        public HttpContext HttpContext { get; set; }
    }
}