Пример #1
0
        private void iniciarBtn_Click(object sender, EventArgs e)
        {
            try
            {
                this.verificarCamposObligatorios();
                Login_Manager loginMng = new Login_Manager();
                password   = Encriptacion.getHashSha256(passBox.Text);
                id_usuario = loginMng.iniciarLogin(userBox.Text, password);
                username   = userBox.Text;
                if (id_usuario != 0)
                {
                    Boolean esPrimerLogin = loginMng.esPrimerLogueo(id_usuario);
                    if (esPrimerLogin)
                    {
                        MessageBox.Show("A continuacion debe actualizar su contraseña");
                        CambiarPassForm cambiarPassForm = new CambiarPassForm(username, password, id_usuario);
                        if (cambiarPassForm.ShowDialog(this) != DialogResult.OK)
                        {
                            cambioPassOK = false;
                            MessageBox.Show("Operacion cancelada. Debe cambiar contraseña para ingresar al sistema.");
                        }
                        cambiarPassForm.Dispose();
                        cambiarPassForm.Close();
                    }

                    if (cambioPassOK)
                    {
                        rolesDeUsuario = rolMng.getRolesConIDUsuario(id_usuario);
                        if (rolesDeUsuario.Count > 1)
                        {
                            //Abro ventana para seleccionar rol, en caso de ser necesario
                            SeleccionRolForm seleccionForm = new SeleccionRolForm(rolesDeUsuario);
                            if (seleccionForm.ShowDialog(this) == DialogResult.OK)
                            {
                                id_rol_seleccionado = seleccionForm.get_IdRolSeleccionado();
                            }
                            else
                            {
                                MessageBox.Show("Operacion cancelada");
                            }
                            seleccionForm.Dispose();
                            seleccionForm.Close();
                            this.limpiarCampos();
                        }
                        else
                        {
                            id_rol_seleccionado = rolesDeUsuario.ElementAt(0).id_rol;
                        }
                        funcionalidades = funcMng.funcionalidadesXRol(id_rol_seleccionado);
                        DatosSesion.iniciarSesion(id_usuario, username, password, id_rol_seleccionado, funcionalidades);
                        this.Close();
                    }
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }