private void TrataPedidosPendentesAceiteMembro(TipoAvisos pTipoAviso) { try { NotificacoesAlertasService NAService = new NotificacoesAlertasService(); EmailService EmailSrv = new EmailService(); SmsService SmsSrv = new SmsService(); List <Pedido> listaPedidoMembro = NAService.ListarPedidosPendentes(TipoCliente.Membro); foreach (Pedido item in listaPedidoMembro) { List <RetornoAvisos> listaUsuario = NAService.TrataPedidoMembro(item, pTipoAviso.Id); foreach (RetornoAvisos retAviso in listaUsuario) { //Enviar Email if (retAviso.EnviarEmail) { var template = NAService.GetCorpoEmail(22); if (retAviso.Usuario.Pessoa.TipoPessoa == TipoPessoa.PessoaJuridica) { var corpoEmail = template.Replace("#NomeFantasia#", retAviso.Usuario.Pessoa.PessoaJuridica.NomeFantasia); EmailSrv.EnviarEmailViaRobo( NAService.UsuarioRobo(), "Corra aprove seu pedido " + item.Id + " valores validos por 2 dias a partir da data de retorno da cotacao, Evite o CANCELAMENTO", retAviso.Usuario.UsuarioEmail, corpoEmail, Origem.NovaCotacao); } else { var corpoEmail = template.Replace("#NomeFantasia#", retAviso.Usuario.Pessoa.PessoaFisica.Nome); EmailSrv.EnviarEmailViaRobo( NAService.UsuarioRobo(), "Corra aprove seu pedido " + item.Id + " valores validos por 2 dias a partir da data de retorno da cotacao, Evite o CANCELAMENTO", 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á - Aguardando Aprovação de Pedido " + item.Id + ".", "Economiza Já-Corra aprove seu pedido " + item.Id + " valores validos por 2 dias a partir da data de retorno da cotacao, Evite o CANCELAMENTO", 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, //// URLPaginaDestino = "/#/meusPedidos", //// TituloAviso = "Aceite Pendente", //// ToolTip = "", //// DescricaoAviso = "Aceite Pendente do pedido " + item.Id, //// ModuloId = 3, //Modulo Membro //// UsuarioNotificadoId = retAviso.Usuario.Id //// }); ////} } } //testar melhor esse trecho para limpar avisos. NAService.LimparTabelAvisosPorMembro(listaPedidoMembro, pTipoAviso.Id); } catch (Exception ex) { throw new Exception("Erro TrataPedidosPendentesAceiteMembro", ex); } }