public static void EnviarCorreo(string tipoSolicitud, string semanaCambio, int organizacionID, string clave, int usuarioID) { var seguridad = (SeguridadInfo)ObtenerSeguridad(); var correo = new CorreoPL(); var correoenviar = new CorreoInfo(); var usuariosCorreo = new List <UsuarioInfo>(); var organizacionPL = new OrganizacionPL(); var usuarioInfo = new UsuarioInfo(); var usuarioPL = new UsuarioPL(); var organizacionInfo = new OrganizacionInfo(); var parametroPL = new ParametroGeneralPL(); var terminacionCorreo = new ParametroGeneralInfo(); try { OrganizacionInfo organizacion = seguridad.Usuario.Organizacion; terminacionCorreo = parametroPL.ObtenerPorClaveParametro("CorreoTerminacion"); string asuntoCorreo = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "msgAsuntoCorreo.Text").ToString(); string mensajeCorreo = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "msgMensajeCorreo.Text").ToString(); string parametroManejo = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "clvCorreoJefeManejo.Text").ToString(); organizacionInfo = organizacionPL.ObtenerPorID(organizacionID); if (string.IsNullOrEmpty(clave)) { usuarioInfo = usuarioPL.ObtenerPorID(usuarioID); correoenviar.Asunto = String.Format(asuntoCorreo, tipoSolicitud, semanaCambio, organizacionInfo.Descripcion); correoenviar.Correos = new List <string>(); correoenviar.Mensaje = String.Format(mensajeCorreo, tipoSolicitud, semanaCambio); correoenviar.Correos.Add(usuarioInfo.UsuarioActiveDirectory + terminacionCorreo.Valor); correo.EnviarCorreo(organizacion, correoenviar); } else { usuariosCorreo = ObtenerCorreos(clave); if (clave.Equals(parametroManejo)) { usuariosCorreo.RemoveAll(x => x.OrganizacionID != organizacionID); } foreach (var usuario in usuariosCorreo) { correoenviar.Asunto = String.Format(asuntoCorreo, tipoSolicitud, semanaCambio, organizacionInfo.Descripcion); correoenviar.Correos = new List <string>(); correoenviar.Mensaje = String.Format(mensajeCorreo, tipoSolicitud, semanaCambio); correoenviar.Correos.Add(usuario.UsuarioActiveDirectory + terminacionCorreo.Valor); correo.EnviarCorreo(organizacion, correoenviar); } } } catch (Exception ex) { Logger.Error(ex); throw; } }
private void BtnEnviar_OnClick(object sender, RoutedEventArgs e) { try { if (string.IsNullOrWhiteSpace(txtDestinatarios.Text)) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_SinDestinatarios, MessageBoxButton.OK, MessageImage.Warning); return; } var rutaEjecutable = System.Reflection.Assembly.GetExecutingAssembly().Location.Substring(0, System.Reflection.Assembly.GetExecutingAssembly().Location.LastIndexOf("\\", StringComparison.Ordinal)); string archivo = string.Format("{0}\\{1}", rutaEjecutable, Properties.Resources.BitacoraErrores_NombreLog); if (File.Exists(archivo)) { string archivoCopiado = string.Format("{0}\\{1}", Path.GetTempPath(), Properties.Resources.BitacoraErrores_NombreLog); File.Copy(archivo, archivoCopiado, true); var correopl = new CorreoPL(); if (!File.Exists(archivoCopiado)) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_SinBitacora, MessageBoxButton.OK, MessageImage.Warning); return; } List <string> destinatarios = (from cor in txtDestinatarios.Text.Split(';') select cor).ToList(); var correo = new CorreoInfo { Asunto = "Bitacora Errores SIAP", Mensaje = "Se adjunta archivo de Errores", NombreOrigen = "Sukarne", Correos = destinatarios, ArchivoAdjunto = archivoCopiado }; correopl.EnviarCorreo( new OrganizacionInfo { OrganizacionID = Auxiliar.AuxConfiguracion.ObtenerOrganizacionUsuario() }, correo); SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_CorreoEnviado, MessageBoxButton.OK, MessageImage.Correct); txtDestinatarios.Text = string.Empty; } else { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_SinBitacora, MessageBoxButton.OK, MessageImage.Warning); } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.BitacoraErrores_ErrorDescargarArchivo, MessageBoxButton.OK, MessageImage.Error); } }