public void InserirLogEnvio(LogEnvio log) { using (var con = DapperConnection.ConTeste) { string sql = @"INSERT INTO LogEnviosEspeciais ( IdProduto , Login , Email , Nome , Status , Observacao , DataFimTeste , DataHoraRegistro , IDMensagemAPI) VALUES (@IdProduto, @Login, @Email, @Nome, @Status, @Observacao, @DataFimTeste, @DataHoraRegistro, @IDMensagemAPI) SELECT CAST(SCOPE_IDENTITY() as int)"; log.IdLogEnvio = con.Query <int>(sql, log).Single(); } }
public void EnvioAndamentoMeridioQdtPublicacoesNaoCapturadas() { string textoEmail = string.Empty; LogEnvio log = new LogEnvio { Login = "******", Email = "[email protected];[email protected];[email protected]", Nome = "Kurier - Andamento", DataFimTeste = DateTime.Now, DataHoraRegistro = DateTime.Now, }; try { if (!VerificarEnvio("Andamento.Meridio", (int)ProdutoEnvio.ANDAMENTO)) { Cliente cliente = new Cliente { EmailDestinatario = "[email protected];[email protected];[email protected];[email protected]", Assunto = $"k-Andamento, Quantidade de andamentos NÃO capturados no dia {DateTime.Now.ToShortDateString()}" }; var publicacoes = _andamentoRepository.AndamentoMeridioQdtPublicacoesNaoCapturadas().ToList(); if (publicacoes.Count > 0) { foreach (var pub in publicacoes) { textoEmail += "<tr>"; textoEmail += $"<td><font size=2><b>{pub.IDCliente}</b></font></td>"; textoEmail += $"<td><font size=2>{pub.Login}</font></td>"; textoEmail += $"<td><font size=2>{pub.Nome}</font></td>"; textoEmail += $"<td><font size=2>{pub.QtdPublicacao}</font></td>"; textoEmail += $"</tr>"; } } HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); htmlDoc.LoadHtml(Resource.EmailAndamentoMeridioQdtPublicacoesNaoCapturadas); htmlDoc.DocumentNode.SelectSingleNode("//span[@id='textoEmail']").InnerHtml = textoEmail; cliente.CorpoMensagem = htmlDoc.DocumentNode.OuterHtml; SendGrid obj = new SendGrid(); var responseApi = obj.Sender(cliente, (int)ProdutoEnvio.ANDAMENTO); if (responseApi.Result != null) { ResponseSendGrid responseSendGrid = JsonConvert.DeserializeObject <ResponseSendGrid>(responseApi.Result); if (responseSendGrid.Success) { var IdMensagem = responseSendGrid.IdMensagem; log.IDMensagemAPI = IdMensagem; log.Status = StatusLog.ENVIADO.ToString(); log.IdProduto = (int)ProdutoEnvio.ANDAMENTO; _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** ENVIO CLIENTE: {log.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } else { log.Status = StatusLog.ERRO.ToString(); log.Observacao = responseSendGrid.ErrorMsg; _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** CLIENTE NÃO ENVIADO: {log.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } } else { log.Status = StatusLog.ERRO.ToString(); log.Observacao = "Erro na API"; _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** CLIENTE NÃO ENVIADO: {log.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } } } catch (Exception ex) { log.Status = StatusLog.ERRO.ToString(); log.Observacao = ex.ToString(); _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** CLIENTE NÃO ENVIADO: {log.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } }
public void EnvioJuridicoSituacaoPendente(Cliente cliente) { if (!VerificarEnvio(cliente.Login, (int)ProdutoEnvio.JURIDICO)) { LogEnvio log = new LogEnvio { Login = cliente.Login, Email = cliente.EmailDestinatario, Nome = cliente.Nome, DataFimTeste = cliente.DataFimTeste, DataHoraRegistro = DateTime.Now, }; try { HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); htmlDoc.LoadHtml(Resource.EmailDistribuicaoSituacaoPendente); htmlDoc.DocumentNode.SelectSingleNode("//span[@id='Nome']").InnerHtml = cliente.Nome; htmlDoc.DocumentNode.SelectSingleNode("//span[@id='DataFimTeste']").InnerHtml = cliente.DataFimTeste.ToShortDateString(); cliente.CorpoMensagem = htmlDoc.DocumentNode.OuterHtml; SendGrid obj = new SendGrid(); var responseApi = obj.Sender(cliente, (int)ProdutoEnvio.JURIDICO); if (responseApi.Result != null) { ResponseSendGrid responseSendGrid = JsonConvert.DeserializeObject <ResponseSendGrid>(responseApi.Result); if (responseSendGrid.Success) { var IdMensagem = responseSendGrid.IdMensagem; log.IDMensagemAPI = IdMensagem; log.Status = StatusLog.ENVIADO.ToString(); log.IdProduto = (int)ProdutoEnvio.JURIDICO; _juridicoRepository.AtualizarClienteSituacaoPendente(cliente); _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** ENVIO CLIENTE: {cliente.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } else { log.Status = StatusLog.ERRO.ToString(); log.Observacao = responseSendGrid.ErrorMsg; _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** CLIENTE NÃO ENVIADO: {cliente.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } } else { log.Status = StatusLog.ERRO.ToString(); log.Observacao = "Erro na API"; _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** CLIENTE NÃO ENVIADO: {cliente.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } } catch (Exception ex) { log.Status = StatusLog.ERRO.ToString(); log.Observacao = ex.ToString(); _logEnvioRepository.InserirLogEnvio(log); WriteLine($"*** CLIENTE NÃO ENVIADO: {cliente.Nome} Data: {DateTime.Now.ToLongTimeString()} ***"); } } }