// 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"); } }
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()); }