Esempio n. 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");
            }
        }
Esempio n. 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());
        }
Esempio n. 4
0
        //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());
            }
        }
Esempio n. 7
0
        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();
 }