// 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()); }
//Toma el nombre de la campaña, y la dirección de la imagen, comprueba si es absoluta o relativa para cargarla de una forma u otra //Tras eso mueve la imagen a un apartado especifico para las campañas, que sera images\USER\nombreusuario\nombrecampaña\icon\imagen //Tras todo eso manda la dirección al image private void ComprobarImagen() { //Variables iniciales, como nombre de campaña por si es definida por usuario, y la variable donde se incluira la dirección completa var nombrecampana = Campanas[campaignComboBox.SelectedIndex].Nombre; string direccioncompletaimagen; //Comprueba si la dirección es relativa u absoluta si contiene :\\, en función de eso le añade lo que falta para que sea absoluta si es relativa. if (Campanas[this.campaignComboBox.SelectedIndex].DireccionImagen.Contains(":\\")) { direccioncompletaimagen = Campanas[this.campaignComboBox.SelectedIndex].DireccionImagen; } else { direccioncompletaimagen = RecursosAplicacion.DireccionBase + Campanas[this.campaignComboBox.SelectedIndex].DireccionImagen; } //una vez definida la dirección, indica la carpeta donde se guardara si no se encuentra, el nombre del fichero y genera el path string carpeta = RecursosAplicacion.Directorios["imagenes_usuario"] + $"\\{RecursosAplicacion.SesionUsuario.NombreUsuario}\\{nombrecampana}\\icon\\"; string fichero = Path.GetFileName(direccioncompletaimagen); string direccionueva = carpeta + fichero; //Comprobamos si existe la imagen, si existe cambiamos el image y ya esta if (File.Exists(direccioncompletaimagen)) { this.iconoCampaign.Source = new BitmapImage(new Uri(direccioncompletaimagen, UriKind.Absolute)); } //si la imagen no existe, lo advertimos, indicamos que seleccione una nueva imagen, y copiamos el archivo a la dirección especifica //para imagenes definidas por el usuario. //si el usuario no define ninguna imagen es decir es null ese campo pone la imagen por defecto de escudo-pregunta else { MessageBox.Show($"No se encuentra el fichero {fichero} en la ruta {direccioncompletaimagen} por favor seleccione la nueva ruta del fichero"); SelectorArchivos nuevoarchivo = new SelectorArchivos(); string direccionarchivo = nuevoarchivo.SeleccionImagen(); if (!(direccionarchivo is null)) { //Mueve el archivo y escribe en los datos de usuario la nueva dirección direccionueva = nuevoarchivo.MoverImagen(nombrecampana, direccionarchivo); this.iconoCampaign.Source = new BitmapImage(new Uri(direccionueva, UriKind.Absolute)); RecursosAplicacion.SesionUsuario.ListCampaigns[campaignComboBox.SelectedIndex].DireccionImagen = direccionueva; GestionArchivos.EscribirUsuarioLocal(); }
private void AddEscenario_Click(object sender, RoutedEventArgs e) { EscenarioCampana escenario1 = new EscenarioCampana(); escenario1.Nombre = this.TextBoxNombreEscenario.Text; escenario1.Descripcion = this.TextBoxDescripcionEscenario.Text; var iguales = Campana.ListaEscenarios.Where(c => c.Nombre.Equals(escenario1.Nombre) && c.Descripcion.Equals(escenario1.Descripcion)); if (!(iguales.Count() > 0)) { observable.Add(escenario1); RecursosAplicacion.SesionUsuario.ListCampaigns.First(c => c.Nombre.Equals(Campana.Nombre) && c.Descripcion.Equals(Campana.Descripcion)).ListaEscenarios.Add(escenario1); GestionArchivos.EscribirUsuarioLocal(); this.Close(); } else { MessageBox.Show(this.FindResource("ErrorAlreadyExists").ToString()); } }
private void AddAventura_Click(object sender, RoutedEventArgs e) { Aventura aventura1 = new Aventura(); aventura1.Nombre = this.TextBoxNombreAventura.Text; aventura1.Descripcion = this.TextBoxDescripcionAventura.Text; var iguales = Escenario.ListaAventuras.Where(c => c.Nombre.Equals(aventura1.Nombre) && c.Descripcion.Equals(aventura1.Descripcion)); if (!(iguales.Count() > 0)) { observable.Add(aventura1); var lista_escenarios = RecursosAplicacion.SesionUsuario.ListCampaigns.First(c => c.Nombre.Equals(Campana.Nombre) && c.Descripcion.Equals(Campana.Descripcion)).ListaEscenarios; lista_escenarios.First(c => c.Nombre.Equals(Escenario.Nombre) && c.Descripcion.Equals(Escenario.Descripcion)).ListaAventuras.Add(aventura1); GestionArchivos.EscribirUsuarioLocal(); this.Close(); } else { MessageBox.Show(this.FindResource("ErrorAlreadyExists").ToString()); } }
private void Modificar_Click(object sender, RoutedEventArgs e) { var resultado = Campana.ExisteCampanaObservable(campana, observable); if (resultado != null) { resultado.Nombre = this.NombreTextBox.Text; resultado.Descripcion = this.DescripcionTextBox.Text; if (!(this.direccionimagen is null)) { string direccion = this.archivo.MoverImagen(resultado.Nombre, this.direccionimagen); resultado.DireccionImagen = direccion; } RecursosAplicacion.SesionUsuario.ListCampaigns = this.observable.ToList <Campana>(); GestionArchivos.EscribirUsuarioLocal(); this.Close(); } else { MessageBox.Show(this.FindResource("ErrorDoesntExists").ToString()); } }
private void BotonModificarAventura_Click(object sender, RoutedEventArgs e) { Aventura aventura1 = new Aventura(); aventura1.Nombre = this.TextBoxNombreAventura.Text; aventura1.Descripcion = this.TextBoxDescripcionAventura.Text; var iguales = Observable.Where(c => c.Nombre.Equals(Aventura.Nombre) && c.Descripcion.Equals(Aventura.Descripcion)); if (iguales.Count() > 0) { iguales.First().Nombre = aventura1.Nombre; iguales.First().Descripcion = aventura1.Descripcion; var lista_escenarios = RecursosAplicacion.SesionUsuario.ListCampaigns.First(c => c.Nombre.Equals(Campana.Nombre) && c.Descripcion.Equals(Campana.Descripcion)).ListaEscenarios; lista_escenarios.First(c => c.Nombre.Equals(Escenario.Nombre) && c.Descripcion.Equals(Escenario.Descripcion)).ListaAventuras = observable.ToList <Aventura>(); GestionArchivos.EscribirUsuarioLocal(); this.Close(); } else { MessageBox.Show(this.FindResource("ErrorDoesntExists").ToString()); } }
public void ReemplazarCampana() { this.listacampaign[DatosAplicacion.IndiceCampana] = DatosAplicacion.CampanaSeleccionada; GestionArchivos.EscribirUsuarioLocal(); }