Esempio n. 1
0
        private static void SendEmail(DSModel db, EmailService email, NotificationModel notice)
        {
            try
            {
                string senderEmail = GLOB.Settings.Get<string>(20);
                string[] managementEmails = GLOB.Settings.Get<string>(21).Split(';');

                List<string> emailsToSend = new List<string>();
                if (notice.ReminderType == (uint)ReminderType.Driver || notice.ReminderType == (uint)ReminderType.MVR)
                    emailsToSend.Add(notice.Email);
                if (notice.ReminderType == (uint)ReminderType.Management || notice.ReminderType == (uint)ReminderType.MVR)
                    emailsToSend.AddRange(managementEmails);

                bool status = false;
                foreach (string address in emailsToSend)
                {
                    try
                    {
                        if (!email.SendEmail(senderEmail, address, notice.Message, notice.Message).Result.Failed)
                            status = true;
                    }
                    catch { }
                }

                NotificationRepository.UpdateNotificationStatus(db, notice, status);
            }
            catch { }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            DateTime checkDate = DateTime.Now.Date;

            string date = GetArg("CHECKDATE");
            if (!string.IsNullOrWhiteSpace(date))
            {
                checkDate = DateTime.ParseExact(date, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
            }

            using (var db = DB.GetContext())
            {
                SMSService sms = new SMSService();
                EmailService email = new EmailService();
                var medicalNotifications = NotificationRepository.GetMedicalNotifications(db, checkDate);
                var licenseNotifications = NotificationRepository.GetLicenseNotifications(db, checkDate);

                //medicals
                foreach (var med in medicalNotifications)
                {
                    if (!string.IsNullOrWhiteSpace(med.CellPhone))
                        SendSMS(db, sms, med);
                    if (!string.IsNullOrWhiteSpace(med.Email))
                        SendEmail(db, email, med);
                }

                //licenses
                foreach (var lic in licenseNotifications)
                {
                    if (!string.IsNullOrWhiteSpace(lic.CellPhone))
                        SendSMS(db, sms, lic);
                    if (!string.IsNullOrWhiteSpace(lic.Email))
                        SendEmail(db, email, lic);
                }
            }
        }