private void Application_Startup(object sender, StartupEventArgs e) { string msg = "App - ===== Запуск приложения"; Logging.ToLog(msg); string adminAddress = Services.Config.Instance.MailAdminAddress; ClientMail.SendMail(msg, msg, adminAddress); DispatcherUnhandledException += App_DispatcherUnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; if (!Services.Config.Instance.IsConfigReadedSuccessfull) { ClientMail.SendMail("Ошибка конфигурации", "Не удалось считать файл конфигурации: " + Services.Config.Instance.ConfigFilePath, adminAddress); Logging.ToLog("App - !!! Конфигурация не загружена"); } Logging.CheckAndCleanOldFiles(Services.Config.Instance.MaxLogfilesQuantity); MainWindow window = new MainWindow(); window.Show(); }
private void HandleException(Exception exception) { if (exception != null) { string msg = exception.Message + Environment.NewLine + exception.StackTrace; Logging.ToLog("App - " + msg); ClientMail.SendMail("Необработанное исключение", msg, Services.Config.Instance.MailAdminAddress); } if (exception.InnerException != null) { Logging.ToLog("App - " + exception.InnerException.Message + Environment.NewLine + exception.InnerException.StackTrace); } Logging.ToLog("App - !!! Аварийное завершение работы"); Process.GetCurrentProcess().Kill(); }
public static void SendMailAboutNegativeMark(ItemSurveyResult surveyResult) { if (surveyResult == null) { return; } string header = ""; string recipients = string.Empty; string mark; switch (surveyResult.Type) { case SurveyType.Doctor: recipients = Services.Config.Instance.MailRecipientsNegativeMarksDoctor; break; case SurveyType.Registry: recipients = Services.Config.Instance.MailRecipientsNegativeMarksRegistry; break; case SurveyType.Clinic: recipients = Services.Config.Instance.MailRecipientsNegativeMarksClinic; break; default: break; } if (surveyResult.Mark.Equals("0")) { mark = "Крайне не буду рекомендовать"; } else if (surveyResult.Mark.Equals("1")) { mark = "Очень плохо"; } else if (surveyResult.Mark.Equals("2")) { mark = "Плохо"; } else { return; } if (surveyResult.PhoneNumber.Length == 10 && !surveyResult.PhoneNumber.Equals("skipped")) { header = "Пациент указал, что ему можно позвонить для уточнения подробностей " + "о его негативной оценке."; } else if (!string.IsNullOrEmpty(surveyResult.Comment) && !string.IsNullOrWhiteSpace(surveyResult.Comment) && !surveyResult.Comment.Equals("skipped")) { header = "Пациент оставил комментарий к своей негативной оценке"; } if (string.IsNullOrEmpty(header)) { Logging.ToLog("ItemSurveyResult - Пропуск отправки сообщения об обратной связи - " + "неверный формат номера телефона и отсутствует комментарий"); return; } string subject = Services.Config.Instance.MailClinicName + " - обратная связь с пациентом через монитор лояльности"; string body = header + "<br><br>" + "<table border=\"1\">" + "<tr><td>Сотрудник</td><td><b>" + surveyResult.DocName + "</b></td></tr>" + "<tr><td>Отделение</td><td><b>" + surveyResult.DocDepartment + "</b></td></tr>" + "<tr><td>Оценка</td><td><b>" + mark + "</b></td></tr>" + "<tr><td>Комментарий</td><td><b>" + (surveyResult.Comment.Equals("skipped") ? "отказался" : surveyResult.Comment) + "</b></td></tr>" + "<tr><td>Номер телефона для связи</td><td><b>" + (surveyResult.PhoneNumber.Equals("skipped") ? "отказался" : surveyResult.PhoneNumber) + "</b></td></tr>" + "</table><br>"; string attachmentPath = surveyResult.PhotoLink; if (File.Exists(attachmentPath)) { body += "Фотография с камеры терминала:"; } else { body += "Фотография отсутствует"; } body += "</b>"; ClientMail.SendMail(subject, body, recipients, attachmentPath); }