Exemplo n.º 1
0
        /// <summary>
        /// Inicia sesión
        /// </summary>
        /// <returns></returns>
        private async Task IniciarSesion()
        {
            try
            {
                //Muestra la ventana de loading...
                fPrincipalLoading.Show();
                //autenticación asíncrona
                await AutenticacionStatic.IniciarSesion(txtNombreUsuario.Text, txtContraseña.Text);

                fPrincipalLoading.Close();
                IngresarDashboard();
                //Una vez logueado elimina la ventana de carga e ingresa al dashboard
            }
            catch (UnauthorizedAccessException)
            {
                //Autenticación no exitosa. Mensaje de error y limpieza de campos
                lblErrorAutenticacion.Visible = true;
                txtContraseña.Clear();
                txtNombreUsuario.Clear();
            }
        }
        /// <summary>
        /// Se elimina ticket de autenticación local y remoto
        /// </summary>
        /// <returns></returns>
        private async Task Logout()
        {
            try
            {
                //Se envía petición para cerrar sesión
                await AutenticacionStatic.CerrarSesion(idPersona);

                MessageBox.Show("Su sesión ha finalizado", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (UnauthorizedAccessException)
            {
                MessageBox.Show("Hubo un problema cerrando su sesión", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                //De cualquier manera, cuando se cierra sesión, se abre el FPrincipal (De inicio de sesión)
                FLogin fprincipal = new FLogin();
                Hide();
                fprincipal.ShowDialog();
                Close();
            }
        }