private void TrataPedidosPendentesAceiteFornecedor(TipoAvisos pTipoAviso) { try { NotificacoesAlertasService NAService = new NotificacoesAlertasService(); EmailService EmailSrv = new EmailService(); SmsService SmsSrv = new SmsService(); List <RetornoAvisos> retornoAvisos = new List <RetornoAvisos>(); List <Fornecedor> listaFornecedoresUsuarios = new List <Fornecedor>(); List <Pedido> listaPedidoFornecedor = NAService.ListarPedidosPendentes(TipoCliente.Fornecedor); foreach (Pedido item in listaPedidoFornecedor) { listaFornecedoresUsuarios = NAService.ListaFornecedorPedido(item); foreach (Fornecedor itemFornecedor in listaFornecedoresUsuarios.Distinct()) { retornoAvisos = NAService.TrataPedidoFornecedor(item, itemFornecedor, pTipoAviso.Id); foreach (RetornoAvisos retAviso in retornoAvisos) { //Enviar Email if (retAviso.EnviarEmail) { var template = NAService.GetCorpoEmail(18); var corpoEmail = template.Replace("#NomeFantasia#", retAviso.Usuario.Pessoa.PessoaJuridica.NomeFantasia); EmailSrv.EnviarEmailViaRobo( NAService.UsuarioRobo(), "Pendência Aceite do Pedido " + item.Id, retAviso.Usuario.UsuarioEmail, corpoEmail, Origem.NovaCotacao); } //Enviar SMS if (retAviso.EnviarSMS) { SmsSrv.EnviaSms(retAviso.Usuario.Pessoa.Telefones.Select(t => t.DddCel).FirstOrDefault() + retAviso.Usuario.Pessoa.Telefones.Select(t => t.Celular).FirstOrDefault(), "Economiza Já - Pedido. Aguardando Aprovação do Pedido " + item.Id + ".", TipoOrigemSms.PedidosPendentesAprovacaoMembro); } if (retAviso.EnviarEmail || retAviso.EnviarSMS) { NAService.AtualizaDataAviso(retAviso.Aviso, NAService.UsuarioRobo().Id); } //Grava Aviso ////if (retAviso.NovoAviso) ////{ //// NAService.AddAvisos( //// new Avisos() //// { //// Ativo = true, //// //Pedido = item, //// IdReferencia = item.Id, //// DataUltimoAviso = DateTime.Now, //// ExibeNaTelaAvisos = true, //// TipoAvisosId = pTipoAviso.Id, //// //TipoAviso = pTipoAviso, //// URLPaginaDestino = "/#/pedidos", //// TituloAviso = "Aceite Pendente", //// ToolTip = "", //// DescricaoAviso = "Aceite Pendente do pedido " + item.Id, //email 18 //// ModuloId = 4, //Modulo Fornecedor //// UsuarioNotificadoId = retAviso.Usuario.Id //// }); ////} } } } //Limpa tabela de Avisos NAService.LimparTabelAvisosPorFornecedor(listaPedidoFornecedor, pTipoAviso.Id); } catch (Exception) { throw; } }