public static void HandleException(Exception ex, ConsoleX consoleX) { consoleX.WriteException(ex); if(consoleX.WriteBooleanQuery("Would you like to report this error?")) { consoleX.WriteLine("Ok. I'll compose an email for you."); consoleX.WriteLine("This should open in your default email client. Please send the email."); string mailto = "mailto:[email protected]?subject=Error report: {0}&body={1}"; string body = "Error: " + ex.Message + Environment.NewLine; body += "Type: " + ex.GetType().ToString() + Environment.NewLine; body += "Stack Trace: " + Environment.NewLine + ex.StackTrace; mailto = string.Format(mailto, ex.Message, body); mailto = Uri.EscapeUriString(mailto); Process.Start(mailto); } consoleX.WriteHorizontalRule(); }
public static void CheckForAccessFile(ConsoleX consoleX) { if(!AccessFileDownloader.AccessFileExists) { consoleX.WriteIntro("Database requirements"); consoleX.WriteWarning("It looks like you don't have the Access database file yet."); consoleX.WriteLine("Don't worry, I can download it for you and save it to the correct place."); var fileDownloaded = AccessFileHelper.DownloadAccessFile(consoleX); if(fileDownloaded) consoleX.WriteLine("You can now continue with your previous task."); consoleX.WriteHorizontalRule(); } }