예제 #1
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());
            }
        }
예제 #4
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());
            }
        }
예제 #6
0
 public void ReemplazarCampana()
 {
     this.listacampaign[DatosAplicacion.IndiceCampana] = DatosAplicacion.CampanaSeleccionada;
     GestionArchivos.EscribirUsuarioLocal();
 }