private void btn_seleccionarUsuario_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (lb_usuariosListaUsuarios.SelectedItem == null)
            {
                return;
            }

            String cuenta = lb_usuariosListaUsuarios.SelectedItem.ToString();

            usuario = manejador.Cargar <_sis_Usuario>(_sis_Usuario.consultaPorCuenta, new List <object>()
            {
                cuenta
            });
            chb_usuariosEsAdministrador.IsChecked            = usuario.EsAdministradorDeSistema;
            chb_usuariosEsSoporte.IsChecked                  = usuario.BEsSoporte;
            chb_usuariosEstaDesactivada.IsChecked            = usuario.BEstaDesactivado;
            txt_usuarioNombreUsuario.Text                    = usuario.SNombreCompleto;
            txt_usuarioEmailUsuario.Text                     = usuario.SEmail;
            chb_UsuarioPuedeAccederACatalogoRapido.IsChecked = usuario.BPuedeAccederCatalogoRapido;
            chb_UsuarioRecibeVersionesPrueba.IsChecked       = usuario.BRecibeVersionesPrueba;
            if (usuario.RolSistema != null)
            {
                cmb_usuariosRolesEnSistema.SelectedItem = usuario.RolSistema.Nombre;
            }
            txt_usuarioCuentaUsuario.Text = usuario.Cuenta;
            if (usuario.ImagenAsociada != null)
            {
                img_usuarioImagenUsuario.Source = HerramientasWindow.BitmapAImageSource(usuario.ImagenAsociada.Imagen);
            }
            txt_usuarioCuentaUsuario.IsReadOnly = true;
            CargarFormulariosEspeciales();
        }
Ejemplo n.º 2
0
 public _sis_Usuario ValidarAcceso(String prmUsuario, String prmContrasena)
 {
     try
     {
         manejador.UsarAlmacenObjetos = false;
         _sis_Usuario usuario = manejador.Cargar <_sis_Usuario>(_sis_Usuario.consultaPorUsuarioYContra, new List <object>()
         {
             prmUsuario, CifradoAES.EncriptarTexto(prmContrasena)
         });
         if (usuario != null)
         {
             if (!usuario.Cuenta.Equals("administrador") && usuario.BEstaDesactivado)
             {
                 MT_EnviarMensaje("La cuenta se encuentra bloqueada.", "Bloqueo de cuenta", MensajeException.TipoMensaje.Advertencia);
                 return(null);
             }
         }
         else
         {
             MT_EnviarMensaje("Usuario o contraseña incorrecto.", "", MensajeException.TipoMensaje.ErrorSimple);
             return(null);
         }
         return(usuario);
     }
     catch (Exception ex)
     {
         MT_EnviarMensaje(ex, ex.Message, "Error", MensajeException.TipoMensaje.Error);
         return(null);
     }
 }
Ejemplo n.º 3
0
 void p_seCerroSistema(Principal.RazonCierre razon)
 {
     try
     {
         if (razon == Principal.RazonCierre.TerminoSistema)
         {
             return;
         }
         else if (razon == Principal.RazonCierre.CerroSesion)
         {
             p              = null;
             ModoBloqueo    = false;
             UsuarioBloqueo = null;
         }
         else if (razon == Principal.RazonCierre.BloqueoSesion)
         {
             ModoBloqueo     = true;
             UsuarioBloqueo  = Principal.usuario;
             p.EstaEnBloqueo = false;
         }
         OcultarMensaje();
         txt_contraseña.Text = "";
         txt_usuario.Focs();
         txt_usuario.SelectionStart  = 0;
         txt_usuario.SelectionLength = txt_usuario.Text.Length;
         //if (p != null && p.EstaEnBloqueo)
         //{
         //    HerramientasWindow.MensajeInformacion("El sistema se encuentra bloqueado, ingrese nuevamente.", "Bloqueo de sistema");
         //}
         Show();
     }
     catch (Exception ex)
     {
     }
 }
Ejemplo n.º 4
0
        public void VerificarExistenciaDeUsuarioAdmin()
        {
            DataTable cantidadUsuariosAdministradores = manejador.EjecutarConsulta(_sis_Usuario.consultaCantidadDeUsuariosAdministradores, new List <object>()
            {
                true
            });
            DataTable cantidadUsuarios = manejador.EjecutarConsulta(_sis_Usuario.consultaCantidadDeUsuarios);

            if (Convert.ToInt32(cantidadUsuariosAdministradores.Rows[0][0]) == 0)
            {
                //creacion del primer usuario como administrador
                if (Convert.ToInt32(cantidadUsuarios.Rows[0][0]) == 0)
                {
                    _sis_Usuario administrador = new _sis_Usuario();
                    administrador.EsModificado             = true;
                    administrador.EsAdministradorDeSistema = true;

                    administrador.SNombreCompleto = "Administrador inicial del sistema";
                    administrador.Cuenta          = "administrador";
                    administrador.Contrasena      = Herramientas.Cifrado.CifradoAES.EncriptarTexto("12345");

                    manejador.Guardar(administrador);

                    MT_EnviarMensaje("El Sistema ha detectado que no existen usuarios registrados en la base de datos, Por lo que fue creado el primer usuario como administrador", "ATENCION", MensajeException.TipoMensaje.Advertencia);
                    MT_EnviarMensaje("A continuación se darán los datos del administrador. Favor de anotarlos.", "ATENCION", MensajeException.TipoMensaje.Advertencia);
                    MT_EnviarMensaje("Usuario: " + administrador.Cuenta + "\nContraseña: " + Herramientas.Cifrado.CifradoAES.DesencriptarTexto(administrador.Contrasena), "ATENCION", MensajeException.TipoMensaje.Advertencia);
                    return;
                }
                else
                {
                    _sis_Usuario administrador = manejador.Cargar <_sis_Usuario>(_sis_Usuario.consultaPorCuenta, new List <object>()
                    {
                        "administrador"
                    });
                    if (administrador == null)
                    {
                        administrador = new _sis_Usuario();
                    }
                    administrador.EsModificado             = true;
                    administrador.EsAdministradorDeSistema = true;

                    administrador.SNombreCompleto = "Administrador inicial del sistema";
                    administrador.Cuenta          = "administrador";
                    administrador.Contrasena      = Herramientas.Cifrado.CifradoAES.EncriptarTexto("12345");

                    manejador.Guardar(administrador);
                    MT_EnviarMensaje("El Sistema ha detectado que no existen administradores actualmente en el sistema. Por lo que fue restaurado el primer usuario administrador", "ATENCION", MensajeException.TipoMensaje.Advertencia);
                    MT_EnviarMensaje("A continuación se darán los datos del administrador. Favor de anotarlos.", "ATENCION", MensajeException.TipoMensaje.Advertencia);
                    MT_EnviarMensaje("Usuario: " + administrador.Cuenta + ", contraseña: " + Herramientas.Cifrado.CifradoAES.DesencriptarTexto(administrador.Contrasena), "ATENCION", MensajeException.TipoMensaje.Advertencia);
                    return;
                }
            }
        }
Ejemplo n.º 5
0
        public static Boolean UsuarioLogueadoTienePermisosEdicionCatalogo()
        {
            _sis_Usuario usu = Principal.usuario;

            if (usu.BPuedeAccederCatalogoRapido)
            {
                return(true);
            }
            if (usu.RolSistema != null && usu.RolSistema.BPuedeAccederCatalogoRapido)
            {
                return(true);
            }

            return(false);
        }
Ejemplo n.º 6
0
        public Boolean Iniciar(String usuario, String contrasena)
        {
            _sis_Usuario user = manejador.Cargar <_sis_Usuario>("select * from _sis_Usuario where _st_usuario = @_st_usuario and _st_contrasena = @_st_contrasena", new List <object>()
            {
                usuario, contrasena
            });

            if (user != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 7
0
        public String ValidarAcceso(String usuario, String pass)
        {
            login.enviarMensaje += login_enviarMensaje;
            _sis_Usuario usr = login.ValidarAcceso(usuario, pass);

            if (usr != null)
            {
                JSON     json = new JSON(usr, 2);
                _sis_Rol rol  = usr.RolSistema;
                return(json.ObtenerJSON());
            }
            else
            {
                return(mensajes);
            }
        }
 private void LimpiarDatosUsuario()
 {
     HerramientasWindow.AsignarFondoBlancoImage(img_usuarioImagenUsuario);
     txt_usuarioNombreUsuario.Text                     = "";
     txt_usuarioEmailUsuario.Text                      = "";
     txt_usuarioContraseñaUsuario.Password             = "";
     txt_usuarioCuentaUsuario.Text                     = "";
     txt_usuarioContraseñaConfirmacionUsuario.Password = "";
     cmb_usuariosRolesEnSistema.SelectedIndex          = -1;
     txt_usuarioCuentaUsuario.IsReadOnly               = false;
     chb_usuariosEsAdministrador.IsChecked             = false;
     chb_usuariosEstaDesactivada.IsChecked             = false;
     chb_usuariosEsSoporte.IsChecked                   = false;
     chb_UsuarioPuedeAccederACatalogoRapido.IsChecked  = false;
     lb_usuariosFormulariosEspeciales.Items.Clear();
     usuario = null;
 }
Ejemplo n.º 9
0
        public BuscadorCatalogoVentana()
        {
            this.InitializeComponent();
            InicializarEventos();
            WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

            _sis_Usuario usuarioActual = HerramientasWindow.ObtenerUsuarioLogueado();

            if (usuarioActual.RolSistema.BPuedeAccederCatalogoRapido || usuarioActual.BPuedeAccederCatalogoRapido)
            {
                btn_AccesoCatalogo.Visibility = System.Windows.Visibility.Visible;
            }
            else
            {
                btn_AccesoCatalogo.Visibility = System.Windows.Visibility.Hidden;
            }
        }
 public TextboxBusquedaCatalogo()
 {
     this.InitializeComponent();
     try
     {
         inicializarEventos();
         ListaObjetos = new List <ObjetoBase>();
         _sis_Usuario usuarioActual = HerramientasWindow.ObtenerUsuarioLogueado();
         txt_Algo.TextChanged         += txt_Algo_TextChanged;
         AccesoRapido.seCerroCatalogo += AccesoRapido_seCerroCatalogo;
         if (!usuarioActual.RolSistema.BPuedeAccederCatalogoRapido && !usuarioActual.BPuedeAccederCatalogoRapido)
         {
             AccesoRapido.Visibility = System.Windows.Visibility.Hidden;
             txt_Etiqueta.Margin     = new Thickness(7, 0, 25, 0);
             txt_Algo.Margin         = new Thickness(7, 0, 25, 0);
         }
     }
     catch
     {
     }
 }
        private void toolbox_Nuevo()
        {
            TabItem tabitem = (TabItem)tc_opciones.SelectedItem;

            if (tabitem.Header.Equals("Creación y configuración de roles"))
            {
                ContenedorTemporal = new _sis_Contenedor();
                LimpiarDatosRoles();
                rol = null;
            }
            else if (tabitem.Header.Equals("Registro de formularios"))
            {
                LimpiarDatosFormulario();
                formulario = null;
                cmb_filtroFormularios.SelectedIndex = -1;
            }
            else if (tabitem.Header.Equals("Registro de usuarios"))
            {
                LimpiarDatosUsuario();
                usuario = null;
            }
        }
 public ConfiguracionUsuario(_sis_Usuario usuario)
 {
     InitializeComponent();
     try
     {
         manejador    = new ManejadorDB();
         this.usuario = usuario;
         this.usuario.EliminarCache();
         Bitmap foto = new Bitmap(@"Imagenes\Iconos\Sistema\usuario.png");
         if (usuario.ImagenAsociada != null && usuario.ImagenAsociada.Imagen != null)
         {
             foto = usuario.ImagenAsociada.Imagen;
         }
         img_fotoUsuario.Source    = HerramientasWindow.BitmapAImageSource(foto);
         lbl_cuentaUsuario.Content = usuario.Cuenta;
         txt_nombre.Text           = usuario.SNombreCompleto;
     }
     catch (Exception ex)
     {
         HerramientasWindow.MensajeError(ex, ex.Message, "Error");
     }
 }
        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; }
            }
        }
        public Dictionary <String, List <String> > CargarModulosPorUsuarioUsandoLicencia(_sis_Usuario usuario, sis_Licencia licencia)
        {
            Dictionary <String, List <String> > modulosFormas = new Dictionary <string, List <String> >();

            if (usuario.Oo_rol == null)
            {
                return(null);
            }

            if (usuario.Oo_rol.Ll_modulosAcceso != null)
            {
                foreach (_sis_ModuloSistemaPermiso modulo in usuario.Oo_rol.Ll_modulosAcceso)
                {
                    if (licencia.ModulosPermitidos.Contains(modulo.St_nombre))
                    {
                        List <String> formasAcceso = modulo.St_listaFormasAcceso.Split('|').ToList <String>();
                        modulosFormas.Add(modulo.St_nombre, formasAcceso);
                    }
                }
            }
            else
            {
                return(null);
            }
            return(modulosFormas);
        }
Ejemplo n.º 15
0
        public Principal(_sis_Usuario usuario, ManejadorDB manejador)
        {
            InitializeComponent();
            //referenciaWindow = this;
            contenedorVentanas.AsignarManejador(manejador);
            //AlmacenObjetos.seBorroAlmacen += AlmacenObjetos_seBorroAlmacen;
            HerramientasWindow.EstablecerPrincipal(this);
            Principal.usuario = usuario;

            Instancia = this;


            ObjetoBase.UsuarioLogueado = usuario.Cuenta;
            variablesDATA = new Variable("data.conf");
            variablesCONN = new Variable("conn.conf");
            this.Icon     = HerramientasWindow.BitmapAImageSource(new Bitmap(@"Imagenes\Iconos\Sistema\Sistema.png"));
            servidor      = HerramientasWindow.DesencriptarConMD5(variablesCONN.ObtenerValorVariable <String>("ServidorInstancia"));
            baseDatos     = HerramientasWindow.DesencriptarConMD5(variablesCONN.ObtenerValorVariable <String>("BaseDeDatos"));
            ipLocal       = HerramientasWindow.ObtenerIPLocal();
            //Log.UbicacionArchivo = "log.txt";
            versionActual = variablesDATA.ObtenerValorVariable <int>("version_actual");


            EstaEnModoPruebas = usuario.BRecibeVersionesPrueba;
            if (EstaEnModoPruebas)
            {
                variablesDATA.GuardarValorVariable("esta_en_modo_pruebas", "si");
            }
            else
            {
                variablesDATA.GuardarValorVariable("esta_en_modo_pruebas", "no");
            }
            //EstaEnModoPruebas = variablesDATA.ObtenerValorVariable<Boolean>("esta_en_modo_pruebas");
            variablesDATA.ActualizarArchivo();
            Thread obtenerIpInternet = new Thread(ObtenerIpInternet);

            obtenerIpInternet.Start();


            this.manejador = manejador; // = new ManejadorDB();

            IsVisibleChanged += Principal_IsVisibleChanged;
            IsVisibleChanged += HerramientasWindow.referenciaWindow_IsVisibleChanged;



            _sis_DatosSistema datosSistema = manejador.Cargar <_sis_DatosSistema>(_sis_DatosSistema.ConsultaTodos);

            if (datosSistema != null)
            {
                if (datosSistema.BImagenIcono != null)
                {
                    this.Icon = HerramientasWindow.BitmapAImageSource(datosSistema.BImagenIcono);
                }
                img_fondo.Source = HerramientasWindow.BitmapAImageSource(datosSistema.BImagenFondoPrincipal);
                nombreSistema    = datosSistema.STitulo;
                //if (datosSistema.ISegundosAutobloqueo != 0)
                segundosParaAutoBloqueo = datosSistema.ISegundosAutobloqueo;
            }


            menu.clickElementoMenuOpcion += menu_clickElementoMenuOpcion;
            menu.AltoElementoMenu         = 70;
            menu.AnchoElementoMenu        = 70;
            menu.SeparacionElementoMenu   = 1;

            PreviewMouseDown += Principal_PreviewMouseDown;
            MouseMove        += Principal_MouseMove;
            KeyDown          += Principal_KeyDown;

            contenedorToolbox_Sistema.MouseEnter += contenedorToolbox_Sistema_MouseEnter;
            contenedorToolbox_Sistema.MouseLeave += contenedorToolbox_Sistema_MouseLeave;

            contenedorToolbox.MouseEnter += contenedorToolbox_MouseEnter;
            contenedorToolbox.MouseLeave += contenedorToolbox_MouseLeave;

            contenedorToolbox_Sistema.clickOpcionSistema += contenedorToolbox_Sistema_clickOpcionSistema;
            contenedorToolbox.clickOpcionVentana         += contenedorToolbox_clickOpcionVentana;

            contenedorVentanas.clickVentana += contenedorVentanas_clickVentana;
            CargarModulos();
            CargarToolboxSistema();


            ReiniciarAutobloqueo();
            //IniciarWorkers();
            cargarMarcadores();
            //new DirectoryInfo((@"Imagenes\Iconos\Formularios")).GetFiles().Select(o => o.Name).ToArray();
            ImagenesToolBoxFormularios.AddRange(new DirectoryInfo((@"Imagenes\Iconos\Sistema")).GetFiles().Select(o => o.Name).ToArray());
            ImagenesToolBoxFormularios.AddRange(new DirectoryInfo((@"Imagenes\Iconos\Formularios")).GetFiles().Select(o => o.Name).ToArray());

            CentrarVentanaEnPantalla(this);
        }
Ejemplo n.º 16
0
        private void CargarModulos()
        {
            try
            {
                if (manejadorUsuario == null)
                {
                    manejadorUsuario = new ManejadorDB();
                }
                //usuario.EliminarCache();
                usuario = manejadorUsuario.Cargar <_sis_Usuario>(_sis_Usuario.consultaPorID, new List <Object>()
                {
                    usuario.Id
                });
                if (usuario.RolSistema != null)
                {
                    List <_sis_Contenedor> contenedores = null;
                    //usuario.EliminarCache();
                    usuario.Manejador = manejadorUsuario;
                    try
                    {
                        if (usuario.RolSistema != null)
                        {
                            TimeSpan diferenciaTRol = (DateTime.Now - usuario.RolSistema.DtFechaModificacion);
                            if (menu.NumeroElementos == 0 || (diferenciaTRol.TotalSeconds <= tiempoActualizacionModulos / 1000))
                            {
                                menu.LimpiarElementos();
                                contenedores = usuario.RolSistema.Contenedores;
                                if (contenedores != null)
                                {
                                    foreach (_sis_Contenedor contenedor in contenedores)
                                    {
                                        contenedor.EliminarCache();
                                        menu.AgregarElementoMenu(contenedor);
                                    }
                                }
                                menu.DibujarElementos(menu.ActualWidth);
                                //---
                                if (usuario.RolSistema != null)
                                {
                                    rolstr = usuario.RolSistema.Nombre;
                                }
                                Title = nombreSistema + " [versión " + versionActual + "] - Usuario: " + usuario.Cuenta + " - Rol: " + rolstr;
                                if (!primeraVez)
                                {
                                    HerramientasWindow.MostrarNotificacion("Se cargo su perfil y los accesos al sistema.", "Perfil cargado");
                                }
                                else
                                {
                                    primeraVez = false;
                                }
                            }
                            else
                            {
                                usuario.RestaurarUltimaCache();
                            }
                        }
                        if (usuario.ContenedorEspecial != null)
                        {
                            TimeSpan diferenciaTContenedorEspecial = (DateTime.Now - usuario.ContenedorEspecial.DtFechaModificacion);
                            if ((diferenciaTContenedorEspecial.TotalSeconds <= tiempoActualizacionModulos / 1000))
                            {
                                menu.EliminarOpcionesEspeciales();
                                if (usuario.ContenedorEspecial != null)
                                {
                                    if (usuario.ContenedorEspecial.FormulariosPermisos != null && usuario.ContenedorEspecial.FormulariosPermisos.Count > 0)
                                    {
                                        usuario.ContenedorEspecial.ImagenAsociada        = new _sis_ImagenAsociada();
                                        usuario.ContenedorEspecial.ImagenAsociada.Imagen = new Bitmap(@"Imagenes\Iconos\Sistema\carpeta_especial.png");
                                        menu.AgregarElementoMenu(usuario.ContenedorEspecial);
                                    }
                                }
                                menu.DibujarElementos(menu.ActualWidth);
                                Title = nombreSistema + " [versión " + versionActual + "] - Usuario: " + usuario.Cuenta + " - Rol: " + rolstr;
                                HerramientasWindow.MostrarNotificacion("Se cargo su perfil y los accesos al sistema.", "Perfil cargado");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
                else if (!usuario.EsAdministradorDeSistema)
                {
                    menu.LimpiarElementos();
                    HerramientasWindow.MensajeAdvertencia("Actualmente no tiene asignado un Rol. Favor de contactar al administrador del Sistema para la asignación de un Rol.", "Información");
                }
                else
                {
                    menu.LimpiarElementos();
                }

                if (usuario.SMensajeDeIntentoDeConexionEnOtroEquipo != null && !usuario.SMensajeDeIntentoDeConexionEnOtroEquipo.Equals(""))
                {
                    if (usuario.EsAdministradorDeSistema || (usuario.RolSistema != null && usuario.RolSistema.EsAdministradorDeSistema))
                    {
                        //Dispatcher.Invoke(new Action(() =>
                        //{
                        //    HerramientasWindow.MensajeInformacion(usuario.SMensajeDeIntentoDeConexionEnOtroEquipo, "Atención!");
                        //}));
                        if (!detectoEntradaOtroLado)
                        {
                            detectoEntradaOtroLado = true;
                            DelegadoCerradoOtroLogueo delegadoParaCerrar = CerrarSistemaPorOtroLogueo;
                            HerramientasWindow.MostrarNotificacion(usuario.SMensajeDeIntentoDeConexionEnOtroEquipo, "Atención!", new Bitmap(@"Imagenes\Iconos\Sistema\Dialogos\advertencia3.png"), delegadoParaCerrar, 5);
                        }
                    }
                    else
                    {
                        HerramientasWindow.MostrarNotificacion(usuario.SMensajeDeIntentoDeConexionEnOtroEquipo, "Detección de intento de acceso", new Bitmap(@"Imagenes\Iconos\Sistema\Dialogos\advertencia3.png"), 0);
                        usuario.SMensajeDeIntentoDeConexionEnOtroEquipo = "";
                        usuario.EsModificado = true;
                        manejador.GuardarAsincrono("", usuario);
                    }
                }
            }
            catch (Exception ex)
            {
                Dispatcher.Invoke(new Action(() =>
                {
                    HerramientasWindow.MensajeError(ex, ex.Message, "Error al cargar modulos de usuario.");
                }));
            }
        }
Ejemplo n.º 17
0
        private void btn_iniciar_MouseDown(object sender, MouseButtonEventArgs e)
        {
            try
            {
                lnLogin.VerificarExistenciaDeUsuarioAdmin();
                usuario = lnLogin.ValidarAcceso(txt_usuario.Text.Trim(), txt_contraseña.Text.Trim());

                if (usuario != null)
                {
                    if (ModoBloqueo)
                    {
                        if (UsuarioBloqueo.Cuenta.Equals(usuario.Cuenta) && UsuarioBloqueo.Contrasena.Equals(HerramientasWindow.EncriptarConAES(txt_contraseña.Text)))
                        {
                            p.ReiniciarAutobloqueo();
                        }
                        else
                        {
                            HerramientasWindow.Mensaje("Verificar datos de acceso para el usuario que bloqueó el sistema.", "Verificar datos");
                            AgregarLoginFallido();
                            txt_contraseña.Text = "";
                            return;
                        }
                    }

                    if (usuario.Contrasena != null && !usuario.Contrasena.Equals(HerramientasWindow.EncriptarConAES(txt_contraseña.Text)))
                    {
                        MostrarMensaje();//HerramientasWindow.Mensaje("Usuario o contraseña invalidos.", "Verificar datos");
                        AgregarLoginFallido();
                        txt_contraseña.Text = "";
                        return;
                    }

                    if (datosSistema != null && datosSistema.BUsarProteccionDeCuentasEnLogin && !ModoBloqueo && usuario.BEstaConectadoAlSistema)
                    {
                        if (usuario.EsAdministradorDeSistema || (usuario.RolSistema != null && usuario.RolSistema.EsAdministradorDeSistema))
                        {
                            usuario.SMensajeDeIntentoDeConexionEnOtroEquipo = "Se realizó una conexión desde el equipo '" + Environment.MachineName + "' con tu usuario y contraseña correctos, esta conexión se cerrará.";
                            usuario.EsModificado = true;
                            manejador.Guardar(usuario);
                            HerramientasWindow.Mensaje("Se detectó que la cuenta estaba iniciada en otro equipo. Se iniciará la conexión en cuanto se haya finalizado la sesión encontrada despues de dar clic en aceptar. \nContinuar...", "Cuenta iniciada previamente");


                            while (true)
                            {
                                usuario = manejador.Cargar <_sis_Usuario>(_sis_Usuario.consultaPorID, new List <Object>()
                                {
                                    usuario.Id
                                });
                                if (usuario.SMensajeDeIntentoDeConexionEnOtroEquipo != null && !usuario.SMensajeDeIntentoDeConexionEnOtroEquipo.Equals(""))
                                {
                                    //HerramientasWindow.Mensaje("Aún no se ha cerrado la conexión en el otro equipo, por favor vuelva a intentar.", "Cuenta iniciada previamente");
                                    Thread.Sleep(500);
                                }
                                else
                                {
                                    break;
                                }
                            }

                            //return;
                        }
                        else
                        {
                            usuario.SMensajeDeIntentoDeConexionEnOtroEquipo = "Se intentó una conexión desde el equipo '" + Environment.MachineName + "' con tu usuario y contraseña correctos, verificar conexión.";
                            usuario.EsModificado = true;
                            manejador.Guardar(usuario);
                            HerramientasWindow.Mensaje("Actualmente la cuenta se encuentra iniciada en otro equipo, se ha enviado un mensaje de aviso a la cuenta.", "Cuenta iniciada previamente");
                            return;
                        }
                    }

                    if (!usuario.Cuenta.Equals("administrador") && usuario.BEstaDesactivado)
                    {
                        HerramientasWindow.Mensaje("Actualmente tu cuenta está desactivada, favor de contactar con el administrador de Sistemas.", "Cuenta desactivada");
                        return;
                    }

                    _sis_EquiposRegistrados equipoRegistrado = manejador.Cargar <_sis_EquiposRegistrados>(_sis_EquiposRegistrados.ConsultaPorNombreEquipo, new List <object>()
                    {
                        Environment.MachineName
                    });
                    if (equipoRegistrado != null && equipoRegistrado.BEstaBloqueado && !usuario.EsAdministradorDeSistema)
                    {
                        HerramientasWindow.MensajeAdvertenciaAlta("El equipo actual se encuentra bloqueado, favor de contactar al administrador del Sistema.", "Equipo bloqueado");
                        return;
                    }
                    variablesData.GuardarValorVariable("ultimo_usuario", txt_usuario.Text);
                    variablesData.ActualizarArchivo();

                    accesosFallidos.Clear();
                    if (p == null)
                    {
                        p = new Principal(usuario, manejadorPrincipal);
                        p.seCerroSistema += p_seCerroSistema;
                    }

                    Hide();
                    ActualizarEquipoRegistrado();
                    //Thread actualizarEquipoRegistrado = new Thread(ActualizarEquipoRegistrado);
                    //actualizarEquipoRegistrado.Start();

                    usuario.BEstaConectadoAlSistema = true;
                    usuario.EsModificado            = true;
                    manejador.Guardar(usuario);

                    p.Show();
                    cargarCaracteristicasVisualesDeServidor();
                }
                else
                {
                    //MostrarMensaje();
                    AgregarLoginFallido();
                    txt_contraseña.Text = "";
                    if (conteoRegistrosLimite > 2)
                    {
                        HerramientasWindow.MensajeAdvertenciaAlta("El equipo se bloqueará, favor de contactar al administrador.", "Equipo bloqueado");
                    }
                }
            }
            catch (Exception ex)
            {
                HerramientasWindow.MensajeError(ex, "Error: " + ex.Message, "Error");
            }
        }