示例#1
0
        // Funcion de login
        private async void login_Click(object sender, RoutedEventArgs e)
        {
            //Declaraciones
            Usuario usuario = new Usuario();

            //Asignar los valores de usuario
            usuario.NombreUsuario = this.userText.Text;

            //Comprueba si es una contraseña recuperada en caso afirmativo la usa, en caso contrario la cifra
            if (!this.passwordText.Password.Equals(""))
            {
                usuario.Clave = Encriptacion(this.passwordText.Password);
            }

            //Campos necesarios para el log
            string[] campos = { usuario.NombreUsuario, this.passwordText.Password };

            if (await this.ComprobarCredenciales(usuario.NombreUsuario, usuario.Clave))
            {
                //Asignamos la sesión
                if (File.Exists(RecursosAplicacion.DireccionBase + "\\Usuarios\\" + usuario.NombreUsuario + ".json"))
                {
                    Usuario usuario1 = JsonUtils.DeJsonAUserObject(GestionArchivos.LeerArchivo("Usuarios", usuario.NombreUsuario), new Usuario());
                    RecursosAplicacion.SesionUsuario = usuario1;
                }
                else
                {
                    //recuperamos los datos del usuario
                    usuario = await GitHub.GithubInstancia.RecuperarDatosUsuario(usuario.NombreUsuario);

                    if (!File.Exists(RecursosAplicacion.Directorios["usuario"] + usuario.NombreUsuario + ".json"))
                    {
                        GestionArchivos.EscribirArchivo("Usuarios", usuario.NombreUsuario, JsonUtils.DeUserAJsonObject(usuario).ToString());
                    }
                    RecursosAplicacion.SesionUsuario = usuario;
                }

                //generamos el log como exitoso
                System.Windows.MessageBox.Show(this.FindResource("RightLogin").ToString());
                Logs.GenerarLog("Intento de login", campos, "login");

                //mostramos la ventana del menu
                menuPrincipal ventanaPrincipal = new menuPrincipal();
                ventanaPrincipal.Show();
                this.Hide();
            }
            else
            {
                //generamos el log como erroneo
                System.Windows.MessageBox.Show(this.FindResource("ErrorUser").ToString());
                Logs.GenerarLog("Intento de login", campos, "errorlogin");
            }
        }
示例#2
0
        private async void ActualizarContenidoLocal_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult result = MessageBox.Show(this.FindResource("UpdateLocalContentMessage").ToString(), this.FindResource("UpdateLocalContentTitle").ToString(), MessageBoxButton.YesNoCancel);

            switch (result)
            {
            case MessageBoxResult.Yes:
                var usuario = await GitHub.GithubInstancia.RecuperarDatosUsuario(RecursosAplicacion.SesionUsuario.NombreUsuario);

                GestionArchivos.EscribirArchivo("Usuarios", usuario.NombreUsuario, JsonUtils.DeUserAJsonObject(usuario).ToString());
                MessageBox.Show(this.FindResource("UpdateLocalContentConfirm").ToString());
                Application.Current.Shutdown();
                break;
            }
        }
        private async void CrearCredenciales(string nombreusuario, string clave)
        {
            //creamos los datos del usuario y ciframos la contraseña y el correo con sha256 por motivos de seguridad
            Usuario usuario = new Usuario();

            usuario.NombreUsuario = userText.Text;
            usuario.Clave         = PasswordBoxText.Password;
            usuario.Correo        = Encriptacion(CorreoTextBox.Text);
            usuario.Clave         = Encriptacion(PasswordBoxText.Password);
            usuario.ListCampaigns = new List <Campana>();
            anadirelementosiniciales(usuario.ListCampaigns);

            //guardamos en la sesión el usuario y creamos las credenciales en git
            await MainWindow.gitHub.CrearCredenciales(nombreusuario, clave, JsonUtils.DeUserAJsonObject(usuario));

            //cambiar a .user al finalizar las pruebas
            GestionArchivos.EscribirArchivo("Usuarios", usuario.NombreUsuario, JsonUtils.DeUserAJsonObject(usuario).ToString());
        }