public static void processaEmail() { if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour >= 17) { // if(false) if (!WasSent(2)) { var A03_UKEYS = new List <string> { "F7CDA95A-A8E9-4C2B-B" }; foreach (var A03_UKEY in A03_UKEYS) { var OcorrenciasConfirmadas = new List <OcorrenciaConhecimento>(); //Ocorrencias com entrega var OcorrenciasEmAberto = new List <OcorrenciaConhecimento>(); //Ocorrencias que não foram entregas var FileNamePendente = string.Empty; OcorrenciasEmAberto = GenerateCSV2(0, A03_UKEY, "PENDENTE_"); FileNamePendente = attachmentFilename; OcorrenciasConfirmadas = GenerateCSV2(1, A03_UKEY, "ENVIO_7_DIAS_"); if ((OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) || (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0)) { try { var EmailToSend = string.Empty; if (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0) { EmailToSend = RetornaConhecimento.GetEmailByConhecimentoUkey(OcorrenciasConfirmadas.FirstOrDefault().UkeyConhecimento); } else if (OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) { EmailToSend = RetornaConhecimento.GetEmailByConhecimentoUkey(OcorrenciasEmAberto.FirstOrDefault().UkeyConhecimento); } else { throw new Exception("Nenhuma ocorrencia encontrada para buscar email de enivo! Entre em contato com o desenvolvedor!"); } var body = @" <strong>Atenção:</strong> Este é um envio de e-mail automático via sistema e não deve ser respondido. Qualquer dúvida, entre em contato diretamente com a Daytona Express "; using (var smtpClient = new SmtpClient("mail.daytonaexpress.com.br")) { smtpClient.UseDefaultCredentials = false; smtpClient.Host = "mail.daytonaexpress.com.br"; smtpClient.Port = 587; smtpClient.EnableSsl = false; smtpClient.Credentials = new NetworkCredential("*****@*****.**", "dayt@011"); var emailMensage = new MailMessage { IsBodyHtml = true, From = new MailAddress("*****@*****.**"), Body = body, Subject = "Informativo de Ocorrência", }; //emailMensage.To.Add(new MailAddress(Email.EmailToSend)); //emailMensage.To.Add(new MailAddress(EmailToSend)); //emailMensage.To.Add(new MailAddress("*****@*****.**")); //emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); try { if (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0) { Attachment attachment = new Attachment(attachmentFilename, MediaTypeNames.Application.Octet); ContentDisposition disposition = attachment.ContentDisposition; disposition.CreationDate = File.GetCreationTime(attachmentFilename); disposition.ModificationDate = File.GetLastWriteTime(attachmentFilename); disposition.ReadDate = File.GetLastAccessTime(attachmentFilename); disposition.FileName = Path.GetFileName(attachmentFilename); disposition.Size = new FileInfo(attachmentFilename).Length; disposition.DispositionType = DispositionTypeNames.Attachment; emailMensage.Attachments.Add(attachment); } if (OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) { Attachment attachmentPendente = new Attachment(FileNamePendente, MediaTypeNames.Application.Octet); ContentDisposition disposition = attachmentPendente.ContentDisposition; disposition.CreationDate = File.GetCreationTime(FileNamePendente); disposition.ModificationDate = File.GetLastWriteTime(FileNamePendente); disposition.ReadDate = File.GetLastAccessTime(FileNamePendente); disposition.FileName = Path.GetFileName(FileNamePendente); disposition.Size = new FileInfo(FileNamePendente).Length; disposition.DispositionType = DispositionTypeNames.Attachment; emailMensage.Attachments.Add(attachmentPendente); } smtpClient.Send(emailMensage); }catch (Exception e) { } } if (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0) { foreach (var OcorrenciaConhecimento in OcorrenciasConfirmadas.Where(x => x.LogRegister == 1).ToList()) { var _cmd = "INSERT INTO OCORRENCIAS_ENVIADAS_ENTRADA_ENTREGA VALUES(@SEQ,'@UKEYCONHECIMENTO',@CODIGO,@STATUS,CONVERT(DATETIME,'@DATA',120),'@MENSAGEM',@typeRel)"; _cmd = _cmd.Replace("@SEQ", OcorrenciaConhecimento.Seq.ToString()); _cmd = _cmd.Replace("@UKEYCONHECIMENTO", OcorrenciaConhecimento.UkeyConhecimento); _cmd = _cmd.Replace("@CODIGO", OcorrenciaConhecimento.CodigoOcorrencia.ToString()); _cmd = _cmd.Replace("@STATUS", "1"); _cmd = _cmd.Replace("@typeRel", "2"); //2017-11-29 15:51:29 _cmd = _cmd.Replace("@DATA", String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); _cmd = _cmd.Replace("@MENSAGEM", "Enviado Ok"); ExecSql.execsqlCmd(_cmd); } } if (OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) { foreach (var OcorrenciaConhecimento in OcorrenciasEmAberto.Where(x => x.LogRegister == 1).ToList()) { var _cmd = "INSERT INTO OCORRENCIAS_ENVIADAS_ENTRADA_ENTREGA VALUES(@SEQ,'@UKEYCONHECIMENTO',@CODIGO,@STATUS,CONVERT(DATETIME,'@DATA',120),'@MENSAGEM',@typeRel)"; _cmd = _cmd.Replace("@SEQ", OcorrenciaConhecimento.Seq.ToString()); _cmd = _cmd.Replace("@UKEYCONHECIMENTO", OcorrenciaConhecimento.UkeyConhecimento); _cmd = _cmd.Replace("@CODIGO", OcorrenciaConhecimento.CodigoOcorrencia.ToString()); _cmd = _cmd.Replace("@STATUS", "1"); _cmd = _cmd.Replace("@typeRel", "2"); //2017-11-29 15:51:29 _cmd = _cmd.Replace("@DATA", String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); _cmd = _cmd.Replace("@MENSAGEM", "Enviado Ok"); ExecSql.execsqlCmd(_cmd); } } } catch (Exception exRel2) { var erro = exRel2.Message; } } } } } /***********Processo Selbetti layou propio*************************/ new ProcessaSelBetti().Processar(); /*******************************************************************/ /**************************************************************************/ /*Grupo ELG sao 3 empresas, sao emails separados com arquivos por empresa*/ List <Empresas> listaGrupoELG = new List <Empresas>(); Empresas BITTENCOURT = new Empresas(); //ukey do cadastro do cliente A03 BITTENCOURT.CNPJ = "FC23CED5_8E37_4F83_B";// " CNPJ 18125970000189";// - BITTENCOURT AUDIO E VIDEO EIRELI ME BITTENCOURT.relType = "4"; BITTENCOURT.emails.Add("*****@*****.**"); listaGrupoELG.Add(BITTENCOURT); Empresas ELG = new Empresas(); ELG.CNPJ = "STAR_NPZ43_2DG0UE35S";// CPNJ "05012368000193";// -ELG PEDESTAIS LTDA ELG.relType = "5"; ELG.emails.Add("*****@*****.**"); listaGrupoELG.Add(ELG); Empresas LP = new Empresas(); LP.CNPJ = "C72E5AA6-F339-4384-B"; // CNPJ "21851194000109";// -LP COMERCIO DE ELETRONICOS LTDA LP.relType = "6"; LP.emails.Add("*****@*****.**"); LP.emails.Add("*****@*****.**"); listaGrupoELG.Add(LP); foreach (var empresas in listaGrupoELG.ToList()) { new ProcessarELG().Processar(empresas); } /***************************************************************************************/ }
/*Porque voce está ? vc tem uma demanda solicitada pelo Saulo, Cassia ou Deus? * se nao tem , nao mude nada nessa classe, pois podera cair sobre você uma terrivel maldição * se vc leu isso, vc está tendo uma chance de nao sofrer isso * * Porém se vc teve a solicitação das pessoas acima Leia descrição do que essa classe faz * * 1ª no metodo NeedSendToday recebe o parametro -1 que é a quantidade de Dias sem enviar o email, e vc ja percebeu aqui que * essa classe manda email, nao so manda como envia com anexo, esse anexo é um xls, XLS NAO UM CSV. * com as ocorrencias do Dia para empresa nessa caso Selbetti, na classe ProcessasELG ele manda para 3 empresas. * * */ public void Processar() { WriteToAnEventLog log = new WriteToAnEventLog(); if (NeedSendToday(-1)) { var Ocorrencias = new List <OcorrenciaConhecimento>(); try { Ocorrencias = GenerateCSV(); if (Ocorrencias != null && Ocorrencias.Count() != 0) { var EmailToSend = RetornaConhecimento.GetEmailByConhecimentoUkey(Ocorrencias.FirstOrDefault().UkeyConhecimento); var body = @" <strong>Atenção:</strong> Este é um envio de e-mail automático via sistema e não deve ser respondido. Qualquer dúvida, entre em contato diretamente com a Daytona Express "; using (var smtpClient = new SmtpClient("mail.daytonaexpress.com.br")) { smtpClient.UseDefaultCredentials = false; smtpClient.Host = "mail.daytonaexpress.com.br"; smtpClient.Port = 587; smtpClient.EnableSsl = false; smtpClient.Credentials = new NetworkCredential("*****@*****.**", "dayt@011"); var emailMensage = new MailMessage { IsBodyHtml = true, From = new MailAddress("*****@*****.**"), Body = body, Subject = "Informativo de Ocorrência", }; //emailMensage.To.Add(new MailAddress(Email.EmailToSend)); //emailMensage.To.Add(new MailAddress(EmailToSend)); //emailMensage.To.Add(new MailAddress("*****@*****.**")); //emailMensage.To.Add(new MailAddress("*****@*****.**")); // e-mails atuais // Alterado Joederli - 28/05/2019 - chamado 1490 - retirado e-mail transporte //emailMensage.To.Add(new MailAddress("*****@*****.**")); //emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); // e-mail teste //emailMensage.To.Add(new MailAddress("*****@*****.**")); Attachment attachment = new Attachment(attachmentFilename, MediaTypeNames.Application.Octet); ContentDisposition disposition = attachment.ContentDisposition; disposition.CreationDate = File.GetCreationTime(attachmentFilename); disposition.ModificationDate = File.GetLastWriteTime(attachmentFilename); disposition.ReadDate = File.GetLastAccessTime(attachmentFilename); disposition.FileName = Path.GetFileName(attachmentFilename); disposition.Size = new FileInfo(attachmentFilename).Length; disposition.DispositionType = DispositionTypeNames.Attachment; emailMensage.Attachments.Add(attachment); smtpClient.Send(emailMensage); } foreach (var OcorrenciaConhecimento in Ocorrencias.Where(x => x.LogRegister == 1).ToList()) { var _cmd = "INSERT INTO OCORRENCIAS_ENVIADAS_ENTRADA_ENTREGA VALUES(@SEQ,'@UKEYCONHECIMENTO',@CODIGO,@STATUS,CONVERT(DATETIME,'@DATA',120),'@MENSAGEM',NULL)"; _cmd = _cmd.Replace("@SEQ", OcorrenciaConhecimento.Seq.ToString()); _cmd = _cmd.Replace("@UKEYCONHECIMENTO", OcorrenciaConhecimento.UkeyConhecimento); _cmd = _cmd.Replace("@CODIGO", OcorrenciaConhecimento.CodigoOcorrencia.ToString()); _cmd = _cmd.Replace("@STATUS", "1"); //2017-11-29 15:51:29 _cmd = _cmd.Replace("@DATA", String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); _cmd = _cmd.Replace("@MENSAGEM", "Enviado Ok"); // para não inerir o log ExecSql.execsqlDr(_cmd); } } } catch (Exception e) { log.RegistraLog("Erro processaEmail " + e.StackTrace, 3); } } }
public static void processaEmail() { WriteToAnEventLog log = new WriteToAnEventLog(); if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour >= 17) { // if(false) if (!WasSent(2)) { var A03_UKEYS = new List <string> { "F7CDA95A-A8E9-4C2B-B" }; foreach (var A03_UKEY in A03_UKEYS) { var OcorrenciasConfirmadas = new List <OcorrenciaConhecimento>(); //Ocorrencias com entrega var OcorrenciasEmAberto = new List <OcorrenciaConhecimento>(); //Ocorrencias que não foram entregas var FileNamePendente = string.Empty; OcorrenciasEmAberto = GenerateCSV2(0, A03_UKEY, "PENDENTE_"); FileNamePendente = attachmentFilename; OcorrenciasConfirmadas = GenerateCSV2(1, A03_UKEY, "ENVIO_7_DIAS_"); if ((OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) || (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0)) { try { var EmailToSend = string.Empty; if (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0) { EmailToSend = RetornaConhecimento.GetEmailByConhecimentoUkey(OcorrenciasConfirmadas.FirstOrDefault().UkeyConhecimento); } else if (OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) { EmailToSend = RetornaConhecimento.GetEmailByConhecimentoUkey(OcorrenciasEmAberto.FirstOrDefault().UkeyConhecimento); } else { throw new Exception("Nenhuma ocorrencia encontrada para buscar email de enivo! Entre em contato com o desenvolvedor!"); } var body = @" <strong>Atenção:</strong> Este é um envio de e-mail automático via sistema e não deve ser respondido. Qualquer dúvida, entre em contato diretamente com a Daytona Express "; using (var smtpClient = new SmtpClient("mail.daytonaexpress.com.br")) { smtpClient.UseDefaultCredentials = false; smtpClient.Host = "mail.daytonaexpress.com.br"; smtpClient.Port = 587; smtpClient.EnableSsl = false; smtpClient.Credentials = new NetworkCredential("*****@*****.**", "dayt@011"); var emailMensage = new MailMessage { IsBodyHtml = true, From = new MailAddress("*****@*****.**"), Body = body, Subject = "Informativo de Ocorrência", }; //emailMensage.To.Add(new MailAddress(Email.EmailToSend)); //emailMensage.To.Add(new MailAddress(EmailToSend)); //emailMensage.To.Add(new MailAddress("*****@*****.**")); //emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); emailMensage.To.Add(new MailAddress("*****@*****.**")); try { if (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0) { Attachment attachment = new Attachment(attachmentFilename, MediaTypeNames.Application.Octet); ContentDisposition disposition = attachment.ContentDisposition; disposition.CreationDate = File.GetCreationTime(attachmentFilename); disposition.ModificationDate = File.GetLastWriteTime(attachmentFilename); disposition.ReadDate = File.GetLastAccessTime(attachmentFilename); disposition.FileName = Path.GetFileName(attachmentFilename); disposition.Size = new FileInfo(attachmentFilename).Length; disposition.DispositionType = DispositionTypeNames.Attachment; emailMensage.Attachments.Add(attachment); } if (OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) { Attachment attachmentPendente = new Attachment(FileNamePendente, MediaTypeNames.Application.Octet); ContentDisposition disposition = attachmentPendente.ContentDisposition; disposition.CreationDate = File.GetCreationTime(FileNamePendente); disposition.ModificationDate = File.GetLastWriteTime(FileNamePendente); disposition.ReadDate = File.GetLastAccessTime(FileNamePendente); disposition.FileName = Path.GetFileName(FileNamePendente); disposition.Size = new FileInfo(FileNamePendente).Length; disposition.DispositionType = DispositionTypeNames.Attachment; emailMensage.Attachments.Add(attachmentPendente); } smtpClient.Send(emailMensage); } catch (Exception e) { log.RegistraLog("Erro processaEmail " + e.StackTrace, 3); } } if (OcorrenciasConfirmadas != null && OcorrenciasConfirmadas.Count() != 0) { foreach (var OcorrenciaConhecimento in OcorrenciasConfirmadas.Where(x => x.LogRegister == 1).ToList()) { var _cmd = "INSERT INTO OCORRENCIAS_ENVIADAS_ENTRADA_ENTREGA VALUES(@SEQ,'@UKEYCONHECIMENTO',@CODIGO,@STATUS,CONVERT(DATETIME,'@DATA',120),'@MENSAGEM',@typeRel)"; _cmd = _cmd.Replace("@SEQ", OcorrenciaConhecimento.Seq.ToString()); _cmd = _cmd.Replace("@UKEYCONHECIMENTO", OcorrenciaConhecimento.UkeyConhecimento); _cmd = _cmd.Replace("@CODIGO", OcorrenciaConhecimento.CodigoOcorrencia.ToString()); _cmd = _cmd.Replace("@STATUS", "1"); _cmd = _cmd.Replace("@typeRel", "2"); //2017-11-29 15:51:29 _cmd = _cmd.Replace("@DATA", String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); _cmd = _cmd.Replace("@MENSAGEM", "Enviado Ok"); ExecSql.execsqlCmd(_cmd); } } if (OcorrenciasEmAberto != null && OcorrenciasEmAberto.Count() != 0) { foreach (var OcorrenciaConhecimento in OcorrenciasEmAberto.Where(x => x.LogRegister == 1).ToList()) { var _cmd = "INSERT INTO OCORRENCIAS_ENVIADAS_ENTRADA_ENTREGA VALUES(@SEQ,'@UKEYCONHECIMENTO',@CODIGO,@STATUS,CONVERT(DATETIME,'@DATA',120),'@MENSAGEM',@typeRel)"; _cmd = _cmd.Replace("@SEQ", OcorrenciaConhecimento.Seq.ToString()); _cmd = _cmd.Replace("@UKEYCONHECIMENTO", OcorrenciaConhecimento.UkeyConhecimento); _cmd = _cmd.Replace("@CODIGO", OcorrenciaConhecimento.CodigoOcorrencia.ToString()); _cmd = _cmd.Replace("@STATUS", "1"); _cmd = _cmd.Replace("@typeRel", "2"); //2017-11-29 15:51:29 _cmd = _cmd.Replace("@DATA", String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); _cmd = _cmd.Replace("@MENSAGEM", "Enviado Ok"); ExecSql.execsqlCmd(_cmd); } } } catch (Exception e) { log.RegistraLog("Erro processaEmail " + e.StackTrace, 3); } } } } } try { /********** EDI*********************************/ new ProcessaEDI().Processar(); /**************************************************/ /***********Processo Selbetti layou propio*************************/ new ProcessaSelBetti().Processar(); /*******************************************************************/ /**************************************************************************/ /*Grupo ELG sao 3 empresas, sao emails separados com arquivos por empresa*/ List <Empresas> listaempresa = new List <Empresas>(); //retorna lista de e-clientes e e-mails listaempresa = GetEmails(); foreach (var empresas in listaempresa.ToList()) { new ProcessarELG().Processar(empresas); } } catch (Exception e) { log.RegistraLog("Erro processaEmail " + e.StackTrace, 3); } /***************************************************************************************/ }