Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
        }