private static async Task EnviarEmails(ExecutaNotificacaoViewModel model) { if (model.Email.Count == 0) { return; } var email = new SendEmail(); var emailSender = new List <EmailAddress>(); foreach (var item in model.Email) { emailSender.Add(new EmailAddress { Email = item }); } var html = "<html><head></head><body><h3> Olá o Hospital " + model.NomeHospital + " está precisando do seu tipo Sanguíneo!</h3>" + "<br><p>Localização: " + model.LogradouroHospital + "</p><p> Número: " + model.NumeroHospital + "</p><p> Cidade: " + model.CidadeHospital + "</p><p> Bairro: " + model.BairroHospital + "</p>" + "<p> Para Maiores Informações entre em contato através do número " + model.PhoneNumberHospital + "</p></body></html>"; var response = await email.EmailSenderMultiple(emailSender, "[Importante] BloodClick", html); if (response == "Accepted") { return; } }
public async Task ExecutaNotificacao() { var query = await Context.Clientes.ToListAsync(); foreach (var item in query) { var doadores = Notificar(item); if (doadores.Count <= 0) { continue; } var listInfo = new ExecutaNotificacaoViewModel { Email = doadores.Select(t => t.Email).ToList(), PhoneNumber = doadores.Select(t => t.PhoneNumber).ToList(), FullName = doadores.Select(t => t.PhoneNumber).ToList(), BairroHospital = item.Bairro, CidadeHospital = item.Cidade, LogradouroHospital = item.Logradouro, NomeHospital = item.Nome, NumeroHospital = item.Numero, PhoneNumberHospital = item.Telefone }; if (listInfo.Email.Count == 0) { continue; } await _queue.EnviaEmails(listInfo); } }
public async Task EnviaEmails(ExecutaNotificacaoViewModel message) { try { var queue = await GetQueueByName(QueueName.HospitalFila); var jsonMessage = JsonConvert.SerializeObject(message, Formatting.None); var queueMessage = new CloudQueueMessage(jsonMessage); await queue.AddMessageAsync(queueMessage); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run([QueueTrigger("enviar-emails", Connection = "QueueStorage")] ExecutaNotificacaoViewModel model, TraceWriter log) { log.Info($"Modelo: {model}"); EnviarEmails(model).GetAwaiter(); }