Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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);
            }
        }