private void TrataFornecedorNovaCotacao(TipoAvisos pTipoAviso) { try { NotificacoesAlertasService NAService = new NotificacoesAlertasService(); EmailService EmailSrv = new EmailService(); SmsService SmsSrv = new SmsService(); var _templateEmail = EmailSrv.BuscaTemplate(41); var qtdHoraEnvioNotificacao = Convert.ToInt32(NAService.GetParametroSistema("NOTIF_FECH_COTACAO")); List <EntidadeCotacao.Cotacao> listaPedidoMembro = NAService.ListarCotacoesPendentes(); foreach (EntidadeCotacao.Cotacao item in listaPedidoMembro) { var qtdItens = item.CotacaoPedidos.SelectMany(x => x.Pedido.ItemPedidos).Sum(q => q.Quantidade); var frase = qtdItens > 1 ? $"{qtdItens} itens" : $"{qtdItens} item"; var mensagemSms = $"Economiza Já - Daqui a pouco a cotação {item.Id} irá encerrar, temos {frase} para você dar o preço, não deixe de faturar. Se já respondeu desconsiderar este aviso."; var templateCompleto = _templateEmail.Replace("#CotacaoId#", item.Id.ToString()).Replace("#Frase#", frase); List <EntidadeUsuario.Usuario> listaUsuario = NAService.UsuariosFornecedoresResponderCotacao(item, qtdHoraEnvioNotificacao); foreach (EntidadeUsuario.Usuario usuario in listaUsuario) { EmailSrv.EnviarEmailViaRobo(NAService.UsuarioRobo(), $"Economiza Já - Daqui a pouco a cotação {item.Id} irá encerrar.", usuario.UsuarioEmail, templateCompleto, Origem.NovaCotacao); SmsSrv.EnviaSms(usuario.Pessoa.Telefones.Select(t => t.DddCel).FirstOrDefault() + usuario.Pessoa.Telefones.Select(t => t.Celular).FirstOrDefault(), mensagemSms, TipoOrigemSms.NovaCotacao); } } } catch (Exception ex) { throw new Exception("Erro ao enviar email ou sms", ex); } }