Пример #1
0
        public async Task <bool> SendInvitationBySms(List <string> suppliersMobileNo, Tender tender)
        {
            Models.SmsModel             smsModel     = new Models.SmsModel();
            var                         monafasatUrl = "(https://monafasat.etimad.sa)";
            Dictionary <string, string> dic          = new Dictionary <string, string>();

            foreach (var item in suppliersMobileNo)
            {
                dic.Add(item, string.Format(string.Format(_configuration.GetSection("InvitationEmail:SendInvitationBySms").Value, tender.TenderName, monafasatUrl)));
            }
            smsModel.ListOfNumbers = dic;
            return(await _notification.SendOneSms(smsModel));
        }
Пример #2
0
        public async Task <bool> SendInvitationsBySmsToSuppliers(List <SupplierInvitationModel> suppliers, Tender tender)
        {
            Models.SmsModel             smsModel = new Models.SmsModel();
            Dictionary <string, string> dic      = new Dictionary <string, string>();

            foreach (var item in suppliers)
            {
                foreach (var email in item.SupplierContactOfficersEmails)
                {
                    dic.Add(email, string.Format(_configuration.GetSection("SupplierInvitation:SendInvitationBySms").Value, item.SupplierName, tender.TenderName));
                }
            }
            smsModel.ListOfNumbers = dic;
            return(await _notification.SendSms(smsModel));
        }
Пример #3
0
        public async Task ResendFailNotification()
        {
            var notifications = (await _iNotificationQuerie.GetNewNotification());
            int count         = 0;

            foreach (var item in notifications)
            {
                count++;
                if (item is NotificationSMS)
                {
                    var sms = new Common.NotificationServices.Models.SmsModel();
                    sms.To.Add(((NotificationSMS)item).CurrentMobile);
                    sms.Body = ((NotificationSMS)item).Content;
                    if (await SendOneSms(sms))
                    {
                        ((NotificationSMS)item).Update(Enums.NotifacationStatus.Send);
                    }
                    else
                    {
                        ((NotificationSMS)item).Update(Enums.NotifacationStatus.FailedToSend);
                    }
                    _notifayCommands.UpdateNotifayWithOutSave(item);
                }
                if (item is NotificationEmail)
                {
                    var email = new Common.NotificationServices.Models.EmailModel();
                    email.To.Add(((NotificationEmail)item).CurrentEmail);
                    email.Body    = ((NotificationEmail)item).Content;
                    email.Subject = ((NotificationEmail)item).Title;
                    if (await SendOneEmail(email))
                    {
                        ((NotificationEmail)item).Update(Enums.NotifacationStatus.Send);
                    }
                    else
                    {
                        ((NotificationEmail)item).Update(Enums.NotifacationStatus.FailedToSend);
                    }
                    _notifayCommands.UpdateNotifayWithOutSave(item);
                }
                if (count == 100)
                {
                    await _notifayCommands.SaveChangesAsync();

                    count = 0;
                }
            }
            await _notifayCommands.SaveChangesAsync();
        }