public void EROfisisPendientes() { InterfacesDBContext InterfacesDB = new InterfacesDBContext(); try { bool envioCorreo = Convert.ToBoolean(ConfigurationManager.AppSettings["envioCorreo"].ToString()); Logger.WriteLine("Inicia Llamado SP USP_LISTA_ER"); var listaEROfisisDTO = InterfacesDB.Set <EROfisisDTO>().FromSqlRaw($"exec USP_LISTA_ER").ToList(); //Inicio Crear archivo excel var stream = new MemoryStream(); using (var package = new ExcelPackage(stream)) { var workSheet = package.Workbook.Worksheets.Add("ListadoER"); workSheet.Cells.LoadFromCollection(listaEROfisisDTO, true); package.Save(); } stream.Position = 0; var archivoExcel = stream.ToArray(); string excelName = string.Format("EntregasRendir-{0}.xlsx", DateTime.Now.ToString("yyyyMMddHHmmssfff")); //Fin Crear archivo excel Correo correo = new Correo(); correo.Adjuntos.Add(new Adjunto { archivo = archivoExcel, nombreArchivo = excelName }); try { correo.Asunto = $"Entregar a Rendir Pendientes"; string cuerpo = "Existen Entregas a Rendir Pendientes, se adjunta Excel."; Helpers.Helper.ConstruirCorreoError(correo, cuerpo); Helpers.Helper.EnviarCorreoElectronico(correo, true); } catch (Exception ex) { Logger.WriteLine($"{ex.Message}\n{ex.InnerException?.Message}"); } } catch (Exception ex) { Logger.WriteLine($"{ex.Message}\n{ex.InnerException?.Message}"); } finally { Logger.WriteLine("Fin Ejecución"); } }
public IActionResult Get(bool EnvioCorreo) { var listaInconsistencias = interfacesDB.Set <VentaDiferenciaMontoDTO>().FromSqlRaw($"exec USP_LISTA_VENTAS_DIFERENCIAS_MONTOS_BDI_OFISIS").ToList(); var envio = false; if (EnvioCorreo && listaInconsistencias.Count > 0) { //Crear archivo excel var stream = new MemoryStream(); using (var package = new ExcelPackage(stream)) { var workSheet = package.Workbook.Worksheets.Add("Inconsistencias"); workSheet.Cells.LoadFromCollection(listaInconsistencias, true); package.Save(); } stream.Position = 0; var archivoExcel = stream.ToArray(); string excelName = string.Format("InconsistenciasVentasDiferenciasMontos-{0}.xlsx", DateTime.Now.ToString("yyyyMMddHHmmssfff")); //Enviar Correo Correo correo = new Correo(); correo.CorreoEmisor.Mail = config.GetValue <string>("EnvioLogCorreo:CorreoEnvio:Mail"); correo.CorreoEmisor.NameMail = config.GetValue <string>("EnvioLogCorreo:CorreoEnvio:NameMail"); correo.CorreoEmisor.Password = config.GetValue <string>("EnvioLogCorreo:CorreoEnvio:Password"); var CorreoDefectoPara = config.GetSection("EnvioLogCorreo:CorreoDefectoPara").Get <List <string> >(); if (CorreoDefectoPara.Count > 0) { foreach (var correoPara in CorreoDefectoPara) { correo.CorreosPara.Add(new StructMail { Mail = correoPara, NameMail = string.Empty }); } } var ConCopia = config.GetSection("EnvioLogCorreo:ConCopia").Get <List <string> >(); if (ConCopia.Count > 0) { foreach (var CorreoCC in ConCopia) { try { correo.CorreosCC.Add(new StructMail { Mail = CorreoCC, NameMail = string.Empty } ); } catch (Exception ex) { continue; } } } correo.Adjuntos.Add(new Adjunto { archivo = archivoExcel, nombreArchivo = excelName }); try { correo.Asunto = $"Inconsistencias Traslado de Facturacion Montos de Facturas BDI vs. Ofisis"; string cuerpo = "Existen documentos con diferencias en montos de la BDI vs. Ofisis, en el excel adjunto se detallan los documentos."; Helpers.Helpers.ConstruirCorreoError(correo, cuerpo); envio = Helpers.Helpers.EnviarCorreoElectronico(correo, true); } catch (Exception ex) { } } return(Ok(new { listaInconsistencias, correo = envio })); }