/// <summary> /// Build an error message for manual email, event log, and simple message boxes /// </summary> /// <returns></returns> private string BuildErrorMessage() { StringBuilder sb = new StringBuilder(4096); sb.Append("Program Name: "); sb.Append(ProgramName); sb.Append("\n"); sb.Append("Assembly Name: "); sb.Append(AssemblyName); sb.Append("\n"); sb.Append("Class: "); sb.Append(ClassName); sb.Append("\n"); sb.Append("Procedure: "); sb.Append(ProcedureName); sb.Append("\n"); sb.Append("Version: "); sb.Append(Version); sb.Append("\n"); sb.Append("Error Message: "); sb.Append(GUIException.Message); sb.Append("\n"); sb.Append("Stack Trace: "); sb.Append(GUIException.StackTrace); sb.Append("\n"); sb.Append("Additional Info: "); sb.Append(AdditionalInfo); sb.Append("\n"); sb.Append("Steps: "); sb.Append(Steps); sb.Append("\n"); sb.Append("Source: "); sb.Append(GUIException.Source); sb.Append("\n"); sb.Append("Target: "); sb.Append(GUIException.TargetSite); sb.Append("\n"); sb.Append("Exception Type: "); sb.Append(GUIException.GetType()); sb.Append("\n"); sb.Append("Error Date: "); sb.Append(FormatUtil.FormatUSDateTime(DateTime.Now)); sb.Append(" ("); sb.Append(SystemUtil.GetCurrentTimeZone()); sb.Append(")\n"); return(sb.ToString()); }
/// <summary> /// Get an XML Message to send in the email /// </summary> /// <returns></returns> public string GetXMLMessage() { //Write XML file to a memory stream MemoryStream memStream = new MemoryStream(); XmlTextWriter textWriter = new XmlTextWriter(memStream, Encoding.ASCII); textWriter.Formatting = Formatting.Indented; // Opens the document textWriter.WriteStartDocument(); // Write first element textWriter.WriteStartElement("Error"); //Error XML Version textWriter.WriteStartElement("ErrorXMLVersion", ""); textWriter.WriteString("1.0"); textWriter.WriteEndElement(); //Error Information textWriter.WriteStartElement("ProgramName", ""); textWriter.WriteString(ProgramName); textWriter.WriteEndElement(); textWriter.WriteStartElement("AssemblyName", ""); textWriter.WriteString(AssemblyName); textWriter.WriteEndElement(); textWriter.WriteStartElement("Class", ""); textWriter.WriteString(ClassName); textWriter.WriteEndElement(); textWriter.WriteStartElement("Procedure", ""); textWriter.WriteString(ProcedureName); textWriter.WriteEndElement(); textWriter.WriteStartElement("Version", ""); textWriter.WriteString(Version); textWriter.WriteEndElement(); textWriter.WriteStartElement("ErrorMessage", ""); textWriter.WriteString(GUIException.Message); textWriter.WriteEndElement(); textWriter.WriteStartElement("StackTrace", ""); textWriter.WriteString(GUIException.StackTrace); textWriter.WriteEndElement(); textWriter.WriteStartElement("AdditionalInfo", ""); textWriter.WriteString(AdditionalInfo); textWriter.WriteEndElement(); textWriter.WriteStartElement("Source", ""); textWriter.WriteString(GUIException.Source); textWriter.WriteEndElement(); textWriter.WriteStartElement("Target", ""); textWriter.WriteString(GUIException.TargetSite.ToString()); textWriter.WriteEndElement(); textWriter.WriteStartElement("ExceptionType", ""); textWriter.WriteString(GUIException.GetType().ToString()); textWriter.WriteEndElement(); textWriter.WriteStartElement("ErrorDate", ""); textWriter.WriteString(FormatUtil.FormatUSDateTime(DateTime.Now) + " (" + SystemUtil.GetCurrentTimeZone() + ")"); textWriter.WriteEndElement(); textWriter.WriteStartElement("Steps", ""); textWriter.WriteString(Steps); textWriter.WriteEndElement(); //System Information textWriter.WriteStartElement("UserName", ""); textWriter.WriteString(UserName); textWriter.WriteEndElement(); textWriter.WriteStartElement("PCName", ""); textWriter.WriteString(Environment.MachineName); textWriter.WriteEndElement(); textWriter.WriteStartElement("Culture", ""); textWriter.WriteString(Culture); textWriter.WriteEndElement(); textWriter.WriteStartElement("OS", ""); textWriter.WriteString(SystemInfo.GetOSVersion()); textWriter.WriteEndElement(); textWriter.WriteStartElement("CPU", ""); textWriter.WriteString(SystemInfo.GetCPUInfo()); textWriter.WriteEndElement(); textWriter.WriteStartElement("RAM", ""); textWriter.WriteString(SystemInfo.GetTotalRAM()); textWriter.WriteEndElement(); textWriter.WriteStartElement("HD", ""); textWriter.WriteString(SystemInfo.GetFreeSpace(Path.GetPathRoot(Environment.CurrentDirectory))); textWriter.WriteEndElement(); textWriter.WriteStartElement("Framework", ""); textWriter.WriteString(Environment.Version.ToString()); textWriter.WriteEndElement(); textWriter.WriteStartElement("SystemDirectory", ""); textWriter.WriteString(Environment.SystemDirectory); textWriter.WriteEndElement(); textWriter.WriteStartElement("CurrentDirectory", ""); textWriter.WriteString(FileUtil.GetCurrentDirectory()); textWriter.WriteEndElement(); //Write Final element textWriter.WriteEndElement(); // Ends the document. textWriter.WriteEndDocument(); // close writer textWriter.Close(); return(Encoding.ASCII.GetString(memStream.ToArray())); }