private void btn_aceptar_MouseDown(object sender, MouseButtonEventArgs e)
        {
            try
            {
                if ((Boolean)chb_cambiarContrase.IsChecked)
                {
                    if (HerramientasWindow.EncriptarConAES(txt_contraAnterior.Password).Equals(usuario.Contrasena))
                    {
                        if (txt_contraNueva.Password.Equals(txt_contraConfirmacion.Password))
                        {
                            usuario.Contrasena = HerramientasWindow.EncriptarConAES(txt_contraNueva.Password);
                        }
                        else
                        {
                            HerramientasWindow.MensajeErrorSimple("La contraseña nueva y su confirmación no son iguales.", "contraseña incorrecta");
                            return;
                        }
                    }
                    else
                    {
                        HerramientasWindow.MensajeErrorSimple("La contraseña anterior es incorrecta.", "contraseña incorrecta");
                        return;
                    }
                }
                usuario.SNombreCompleto = txt_nombre.Text;
                if (seCargoFoto)
                {
                    usuario.ImagenAsociada.EsModificado = true;
                    usuario.ImagenAsociada.Imagen       = HerramientasWindow.ComprimirImagen(HerramientasWindow.ImageSourceABitmap(img_fotoUsuario.Source, System.Drawing.Imaging.ImageFormat.Jpeg), 128, 128, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
                usuario.EsModificado = true;

                manejador.Guardar(usuario);
                HerramientasWindow.MensajeInformacion("Se guardó correctamente la cuenta de usuario.", "Guardado exitoso");
                Close();
            }
            catch (Exception ex)
            {
                HerramientasWindow.MensajeError(ex, ex.Message, "Error");
            }
        }
        public EnviarSoporte()
        {
            InitializeComponent();
            txt_comentarios.KeyDown += txt_comentarios_KeyDown;
            horaEvento              = DateTime.Now;
            fotoPantalla            = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerFotoPantalla(this), 1000, 600, System.Drawing.Imaging.ImageFormat.Jpeg);
            this.Icon               = HerramientasWindow.BitmapAImageSource(new Bitmap(@"Imagenes\Iconos\Sistema\soporte.png"));
            img_fotoPantalla.Source = HerramientasWindow.BitmapAImageSource(fotoPantalla);



            txt_comentarios.Focus();
            this.Title += " - Usuario: " + Principal.usuario.SNombreCompleto;

            IPLAN                 = Principal.ipLocal;
            IPInternet            = Principal.ipInternet;
            UsuarioLogueadoCuenta = Principal.usuario.Cuenta;
            UsuarioLogueadoEmail  = Principal.usuario.SEmail;

            EmailFormatos.errorEnviarCorreo += EmailFormatos_errorEnviarCorreo;
            EmailFormatos.correoEnviado     += EmailFormatos_correoEnviado;

            this.IsVisibleChanged += EnviarSoporte_IsVisibleChanged;
        }
        private void toolbox_Guardar()
        {
            TabItem tabitem = (TabItem)tc_opciones.SelectedItem;

            if (tabitem.Header.Equals("Creación y configuración de roles"))
            {
                if (txt_rolNombreRol.Text.Equals(""))
                {
                    HerramientasWindow.MensajeInformacion("Se requiere un nombre de rol para poder guardar.", "Dato requerido");
                    return;
                }
                if (rol == null)
                {
                    rol = new _sis_Rol();
                }
                rol.Nombre = txt_rolNombreRol.Text;
                if (rol.ImagenAsociada == null)
                {
                    rol.ImagenAsociada = new _sis_ImagenAsociada();
                }
                rol.ImagenAsociada.Imagen = HerramientasWindow.ObtenerBitmapDeImageControl(img_rolImagenRol, HerramientasWindow.FormatoImagen.PNG);

                if (rol.ImagenAsociada.Imagen != null)
                {
                    rol.ImagenAsociada.EsModificado = true;
                }

                rol.EsModificado = true;
                rol.BPuedeAccederCatalogoRapido = (Boolean)chb_RolPuedeAccederACatalogoRapido.IsChecked;
                rol.EsAdministradorDeSistema    = (bool)chb_rolEsAdministrador.IsChecked;
                if (ContenedorPadreRol != null)
                {
                    rol.Contenedores = ContenedorPadreRol.Contenedores;
                }
                try
                {
                    manejador.IniciarTransaccion();
                    if (manejador.Guardar(rol) != 0)
                    {
                        manejador.GuardarObjetosModificados();
                        manejador.TerminarTransaccion();
                        HerramientasWindow.MensajeInformacion("Se guardó el rol con éxito.", "Guardado Exitoso");
                    }
                    LimpiarDatosRoles();
                }
                catch (Exception ex) { manejador.DeshacerTransaccion(); HerramientasWindow.MensajeError(ex, "Ocurrió un error al guardar: " + ex.Message, "Error"); return; }
                CargarRoles();
            }
            else if (tabitem.Header.Equals("Registro de formularios"))
            {
                if (txt_formulariosReferenciaFormulario.Text.Equals(""))
                {
                    HerramientasWindow.MensajeInformacion("Se requiere un formulario de referencia para poder guardar.", "Dato requerido");
                    return;
                }
                if (txt_formulariosNombreEnSistema.Text.Equals(""))
                {
                    HerramientasWindow.MensajeInformacion("Se requiere un nombre de formulario para poder guardar.", "Dato requerido");
                    return;
                }

                if (formulario == null)
                {
                    formulario = new _sis_Formulario();
                }
                formulario.EsModificado = true;

                formulario.STituloFormulario     = txt_formulariosNombreEnSistema.Text;
                formulario.SReferenciaFormulario = txt_formulariosReferenciaFormulario.Text;
                formulario.BPermiteMultiples     = (bool)chb_formulariosPermiteDuplicados.IsChecked;
                formulario.SDescripcion          = txt_formulariosDescripcionEnSistema.Text;
                if (formulario.ImagenAsociada == null)
                {
                    formulario.ImagenAsociada = new _sis_ImagenAsociada();
                }
                formulario.ImagenAsociada.Imagen = HerramientasWindow.ObtenerBitmapDeImageControl(img_imagenFormulario, HerramientasWindow.FormatoImagen.PNG);

                if (formulario.ImagenAsociada.Imagen != null)
                {
                    formulario.ImagenAsociada.EsModificado = true;
                }

                try
                {
                    manejador.IniciarTransaccion();
                    if (manejador.Guardar(formulario) != 0)
                    {
                        manejador.TerminarTransaccion();
                        HerramientasWindow.MensajeInformacion("Se guardó el formulario con éxito.", "Guardado Exitoso");
                        CargarFormularios(true);
                    }
                }
                catch (Exception ex) { manejador.DeshacerTransaccion(); HerramientasWindow.MensajeError(ex, "Ocurrió un error al guardar: " + ex.Message, "Error"); return; }
                formulario = null;
                LimpiarDatosFormulario();
                cmb_filtroFormularios.SelectedIndex = -1;
            }
            else if (tabitem.Header.Equals("Registro de usuarios"))
            {
                if (!txt_usuarioContraseñaUsuario.Password.Trim().Equals(""))
                {
                    if (!txt_usuarioContraseñaUsuario.Password.Trim().Equals(txt_usuarioContraseñaConfirmacionUsuario.Password))
                    {
                        HerramientasWindow.MensajeInformacion("La contraseña y su confirmación no coinciden.", "Error en contraseña");
                        return;
                    }
                }

                if (txt_usuarioCuentaUsuario.Text.Trim().Equals(""))
                {
                    HerramientasWindow.MensajeInformacion("El usuario debe tener una cuenta de usuario.", "Dato requerido");
                    return;
                }
                if (txt_usuarioNombreUsuario.Text.Trim().Equals(""))
                {
                    HerramientasWindow.MensajeInformacion("El usuario debe tener una Nombre de usuario.", "Dato requerido");
                    return;
                }
                if (usuario == null)
                {
                    usuario = new _sis_Usuario();
                }
                usuario.BEstaDesactivado = (bool)chb_usuariosEstaDesactivada.IsChecked;
                usuario.Cuenta           = txt_usuarioCuentaUsuario.Text;
                if (!txt_usuarioContraseñaUsuario.Password.Trim().Equals(""))
                {
                    usuario.Contrasena = HerramientasWindow.EncriptarConAES(txt_usuarioContraseñaUsuario.Password);
                }
                if (usuario.ImagenAsociada == null)
                {
                    usuario.ImagenAsociada = new _sis_ImagenAsociada();
                }
                usuario.ImagenAsociada.Imagen = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerBitmapDeImageControl(img_usuarioImagenUsuario, HerramientasWindow.FormatoImagen.JPEG), 128, 128, System.Drawing.Imaging.ImageFormat.Jpeg);
                if (usuario.ImagenAsociada.Imagen != null)
                {
                    usuario.ImagenAsociada.EsModificado = true;
                }
                usuario.SEmail                      = txt_usuarioEmailUsuario.Text;
                usuario.SNombreCompleto             = txt_usuarioNombreUsuario.Text;
                usuario.EsModificado                = true;
                usuario.BPuedeAccederCatalogoRapido = (Boolean)chb_UsuarioPuedeAccederACatalogoRapido.IsChecked;
                usuario.EsAdministradorDeSistema    = (bool)chb_usuariosEsAdministrador.IsChecked;
                usuario.BRecibeVersionesPrueba      = (bool)chb_UsuarioRecibeVersionesPrueba.IsChecked;
                usuario.BEsSoporte                  = (bool)chb_usuariosEsSoporte.IsChecked;
                if (cmb_usuariosRolesEnSistema.SelectedItem != null)
                {
                    _sis_Rol rolSel = manejador.Cargar <_sis_Rol>(_sis_Rol.ConsultaPorNombre, new List <object>()
                    {
                        cmb_usuariosRolesEnSistema.SelectedItem.ToString()
                    });

                    usuario.RolSistema = rolSel;
                }

                try
                {
                    manejador.IniciarTransaccion();
                    if (manejador.Guardar(usuario) != 0)
                    {
                        manejador.TerminarTransaccion();
                        CargarUsuarios();
                        HerramientasWindow.MensajeInformacion("Se guardó el usuario con éxito.", "Guardado Exitoso");
                    }
                }
                catch (Exception ex) { manejador.DeshacerTransaccion(); HerramientasWindow.MensajeError(ex, "Ocurrió un error al guardar: " + ex.Message, "Error"); return; }
                usuario = null;
                LimpiarDatosUsuario();
                CargarUsuarios();
            }
            else if (tabitem.Header.Equals("Configuración de sistema"))
            {
                _sis_DatosSistema datosSistema = manejador.Cargar <_sis_DatosSistema>(_sis_DatosSistema.ConsultaTodos);
                if (datosSistema == null)
                {
                    datosSistema = new _sis_DatosSistema();
                }
                datosSistema.EsModificado = true;

                datosSistema.BImagenFondoLogin     = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerBitmapDeImageControl(img_imagenFondoLogin, HerramientasWindow.FormatoImagen.JPEG), 480, 180, System.Drawing.Imaging.ImageFormat.Jpeg);
                datosSistema.BImagenFondoPrincipal = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerBitmapDeImageControl(img_imagenFondoSistema, HerramientasWindow.FormatoImagen.JPEG), 1024, 768, System.Drawing.Imaging.ImageFormat.Jpeg);
                datosSistema.BImagenIcono          = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerBitmapDeImageControl(img_imagenIcono, HerramientasWindow.FormatoImagen.PNG), 128, 128, System.Drawing.Imaging.ImageFormat.Png);
                datosSistema.STitulo = txt_nombreSistema.Text;

                datosSistema.BUsarProteccionDeCuentasEnLogin = (Boolean)chb_proteccionSistemaLogin.IsChecked;

                if (!txt_sistemaTiempoAutobloqueo.Text.Trim().Equals(""))
                {
                    datosSistema.ISegundosAutobloqueo = Convert.ToInt32(txt_sistemaTiempoAutobloqueo.Text);
                }
                if (!txt_sistemaTiempoAlmacenObjetos.Text.Trim().Equals(""))
                {
                    datosSistema.ISegundosParaAlmacenObjetos = Convert.ToInt32(txt_sistemaTiempoAlmacenObjetos.Text);
                }

                try
                {
                    manejador.IniciarTransaccion();
                    if (manejador.Guardar(datosSistema) != 0)
                    {
                        manejador.TerminarTransaccion();
                        HerramientasWindow.MensajeInformacion("Se guardó la configuración con éxito.", "Guardado Exitoso");
                    }
                }
                catch (Exception ex) { manejador.DeshacerTransaccion(); HerramientasWindow.MensajeError(ex, "Ocurrió un error al guardar: " + ex.Message, "Error"); return; }
            }
        }
Exemplo n.º 4
0
        private void AgregarLoginFallido()
        {
            try
            {
                _sis_AccesoFallido acceso = manejador.CrearObjeto <_sis_AccesoFallido>();
                acceso.SIPEquipo             = ipLocal;
                acceso.SIpInternet           = ipInternet;
                acceso.SNombreEquipo         = Environment.MachineName;
                acceso.SUsuarioWindows       = Environment.UserName;
                acceso.SUsuarioRegistrado    = txt_usuario.Text;
                acceso.SContrasenaRegistrada = txt_contraseña.Text;
                acceso.EsModificado          = true;
                manejador.Guardar(acceso);

                accesosFallidos.Add(acceso);

                if (accesosFallidos.Count > 2)
                {
                    Bitmap fotoUsuario = HerramientasWindow.ObtenerFotoDeWebCam();
                    _sis_LimiteAccesosFallidosAlcanzado limite = manejador.CrearObjeto <_sis_LimiteAccesosFallidosAlcanzado>();

                    limite.AccesosFallidos           = accesosFallidos;
                    limite.FotoPantalla              = manejador.CrearObjeto <_sis_ImagenAsociada>();
                    limite.FotoPantalla.EsModificado = true;
                    limite.FotoPantalla.Imagen       = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerFotoPantalla(this), 1000, 600, System.Drawing.Imaging.ImageFormat.Jpeg);
                    limite.FotoWebCam = manejador.CrearObjeto <_sis_ImagenAsociada>();
                    limite.FotoWebCam.EsModificado = true;
                    limite.FotoWebCam.Imagen       = HerramientasWindow.ComprimirImagen(fotoUsuario, 600, 400, System.Drawing.Imaging.ImageFormat.Jpeg);
                    limite.EsModificado            = true;
                    Bitmap emailFotoPantalla = limite.FotoPantalla.Imagen;
                    Bitmap emailFotoWebcam   = limite.FotoWebCam.Imagen;
                    manejador.Guardar(limite);
                    accesosFallidos.Clear();

                    List <_sis_Usuario> usuariosAdmins = manejador.CargarLista <_sis_Usuario>(_sis_Usuario.consultaPorUsuariosAdministradores);
                    String emails = "";
                    foreach (_sis_Usuario us in usuariosAdmins)
                    {
                        if (!us.SEmail.Trim().Equals(""))
                        {
                            emails += us.SEmail + "; ";
                        }
                    }
                    if (!emails.Trim().Equals(""))
                    {
                        emails = emails.Substring(0, emails.Length - 2);
                    }
                    if (!emails.Trim().Equals(""))
                    {
                        String detallesTecnicos = @"<p><strong>Detalles t&eacute;cnicos:</strong></p>

                    <ul>
	                    <li>IP(LAN|WAN): "     + ipLocal + "|" + ipInternet + @"</li>
	                    <li>Nombre equipo: "     + acceso.SNombreEquipo + @"</li>
	                    <li>Hora del evento: "     + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + @"</li>
	                    <li>Sesión Windows: "     + acceso.SUsuarioWindows + @"</li>
                        <li>Usuario registrado: " + acceso.SUsuarioRegistrado + @"</li>
                    </ul>";

                        String  mensaje = @"
                    <h2><strong>Detecci&oacute;n de intruso en el sistema.</strong></h2>

                    <blockquote>
                    <p><em>Verificar archivos adjuntos.</em></p>
                    </blockquote>
                    ";
                        Adjunto adj1    = null;
                        Adjunto adj2    = null;
                        if (emailFotoPantalla != null)
                        {
                            adj1 = new Adjunto();
                            adj1.NombreArchivo = "fotoPantalla.jpg";
                            adj1.Stream        = Herramientas.WPF.Utilidades.BitmapToStream(emailFotoPantalla);
                        }
                        if (emailFotoWebcam != null)
                        {
                            adj2 = new Adjunto();
                            adj2.NombreArchivo = "fotoWebcam.jpg";
                            adj2.Stream        = Herramientas.WPF.Utilidades.BitmapToStream(emailFotoWebcam);
                        }
                        List <Adjunto> adjuntos = new List <Adjunto>();
                        adjuntos.Add(adj1);
                        adjuntos.Add(adj2);
                        try
                        {
                            EmailFormatos.EnviarMailAtencion(mensaje, "Intento de acceso no permitido detectado", detallesTecnicos, null, emails, adjuntos);
                        }
                        catch { }
                    }
                    fotoUsuario = null;
                    conteoRegistrosLimite++;

                    if (conteoRegistrosLimite == 2)
                    {
                        _sis_EquiposRegistrados equipoRegistrado = manejador.Cargar <_sis_EquiposRegistrados>(_sis_EquiposRegistrados.ConsultaPorNombreEquipo, new List <object>()
                        {
                            Environment.MachineName
                        });
                        if (equipoRegistrado == null)
                        {
                            equipoRegistrado = manejador.CrearObjeto <_sis_EquiposRegistrados>();
                        }

                        equipoRegistrado.SNombreEquipo         = Environment.MachineName;
                        equipoRegistrado.SUltimaIPConexion     = ipLocal;
                        equipoRegistrado.UltimoUsuarioConexion = usuario;
                        equipoRegistrado.BEstaBloqueado        = true;
                        equipoRegistrado.BEstaConectado        = false;
                        equipoRegistrado.EsModificado          = true;
                        manejador.Guardar(equipoRegistrado);
                        HerramientasWindow.MensajeAdvertencia("Por seguridad se ha bloqueado el equipo. Favor de contactar al administrador del Sistema.", "Bloqueo de seguridad");
                    }
                }
            }
            catch (Exception ex)
            {
                HerramientasWindow.MensajeError(ex, "Error: " + ex.Message, "Error");
            }
        }