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(); }