public ActionResult Crear() { Exposicion exposicion = new Exposicion(); return PartialView("_Crear", exposicion); }
//IMPORTAR EXPOSICION public ActionResult ImportarCat_Exposicion() { ViewBag.NombreTabla = "CATALOGO DE EXPOSICIONES"; ViewBag.error = ""; try { //abrir conexion con1.Open(); // mandar mensaje de conexcion ViewBag.mensaje = "Conexión establecida"; //revisar el contador de registros if (db.Exposiciones.ToList().Count > 0) { //si hay por lo menos un registro ya se ocupo la tabla ViewBag.error = "error"; } else { //definir el sql string textSql = string.Format("SELECT * FROM [m_guion]"); SqlCommand sql = new SqlCommand(textSql, con1); //ejecutar el sql SqlDataReader leer = sql.ExecuteReader(); //realizar el foreach while (leer.Read()) { //definir el tipo de tabla Exposicion exposicion = new Exposicion(); //llenar el registro con los valores viejos exposicion.Nombre = leer["gui_nombre"].ToString(); exposicion.Status = true; exposicion.AntID = leer["gui_id"].ToString(); db.Exposiciones.Add(exposicion); db.SaveChanges(); } var lista = db.Exposiciones.ToList(); ViewBag.TotalRegistros = lista.Count; return PartialView("_ImportarCat_Exposicion", lista); } } catch (Exception) { ViewBag.mensaje = "Conexión fallida"; } return PartialView("_ImportarCat_Exposicion"); }
public ActionResult AgregarValor(string valor, bool aceptar) { if (aceptar) { if (valor != null || valor != "") { var lista = db.Exposiciones.Where(a => a.Nombre == valor).ToList(); if (lista.Count == 0) { var exposicion = new Exposicion() { Nombre = valor, Status = true, }; db.Exposiciones.Add(exposicion); db.SaveChanges(); AlertaSuccess(string.Format("Exposición: <b>{0}</b> se agregó con exitó.", exposicion.Nombre), true); return Json(new { success = true, valor = exposicion.ExposicionID, texto = exposicion.Nombre }); } else { AlertaSuccess(string.Format("Exposición: <b>{0}</b> se agregó con exitó.", lista.FirstOrDefault().Nombre), true); return Json(new { success = true, valor = lista.FirstOrDefault().ExposicionID, texto = lista.FirstOrDefault().Nombre }); } } } return Json(new { success = false }); }
private void ActualitzarListPreguntas(Nivel nivel) { Exposicion expo = GetSelectedExposicion(); // if (expo.Preguntas != null && expo.Preguntas[nivel] != null) if (expo.Preguntas != null) { if (expo.Preguntas.ContainsKey(nivel)) { List <Pregunta> preguntas = expo.Preguntas[nivel]; if (tabControlIdiomas.SelectedTab != null) { int cnt = 0; foreach (TabPage pageid in tabControlIdiomas.Controls) { ListView listview = (ListView)pageid.Controls[0]; listview.Items.Clear(); listview.Items.AddRange(ListViews.AddItems(preguntas, expo.Idiomas[cnt])); cnt++; } SelectedPreguntaIdioma = null; } } else { if (tabControlIdiomas.Controls.Count > 0) { ListView vista = ((ListView)tabControlIdiomas.Controls[0].Controls[0]); vista.Items.Clear(); } } } }
private void AñadirPregunta(Nivel nivel, Exposicion expo) { Dictionary <Idioma, PreguntaIdioma> emptypreguntaIdiomas = ControladorPrincipal.GetEmptyPreguntaIdiomas(expo.Idiomas); Pregunta p = new Pregunta(emptypreguntaIdiomas); expo.Preguntas[nivel].Add(p); SelectedPreguntaIdioma = p.PreguntaIdiomas[expo.Idiomas[0]]; }
private void EliminarPreguntaByPreguntaIdioma(PreguntaIdioma preguntaIdioma) { Exposicion exposicion = GetSelectedExposicion(); int pregunta = BuscadorDePreguntas.GetPreguntaPos(exposicion.Preguntas[GetSelectedNivel()], preguntaIdioma); if (pregunta != -1) { exposicion.Preguntas[GetSelectedNivel()].Remove(exposicion.Preguntas[GetSelectedNivel()][pregunta]); } ActualitzarListPreguntas(GetSelectedNivel()); }
/// <summary> /// Devuelve la exposición que actualmente está seleccionada en ListViewExposiciones. /// </summary> /// <returns> /// Retorna la exposicion actualmente seleccionada en ListViewExposiciones. /// Si no hay ninguna exposicion seleccionada devuelve null. /// </returns> private Exposicion GetSelectedExposicion() { Exposicion exposicion = null; if (listViewExposiciones.SelectedItems.Count > 0) { ListViewItem item = (ListViewItem)listViewExposiciones.SelectedItems[0]; exposicion = (Exposicion)item.Tag; } return(exposicion); }
/*********** * MÉTODOS * ***********/ /// <summary> /// Elimina la exposción seleccionada de la lista de exposiciónes del ControladorPrincipal /// </summary> private void EliminarExposicion() { Exposicion exposicion = GetSelectedExposicion(); if (exposicion != null) { Exposiciones.Remove(exposicion); ControladorPrincipal.Exposiciones = Exposiciones; ActualizarListViewExposiciones(); } }
/// <summary> /// Controla las acciones que se tienen que hacer cuando se cambia/deselecciona una exposición /// </summary> /// <param name="exposicion">Exposiciona a controlar la selección</param> private void SeleccionaExposicion(Exposicion exposicion) { if (exposicion != null) { // Consigue el numero de preguntas que tiene la exposición int numeroPreguntas = Preguntas.CountPreguntas(exposicion); // Asignamos el nombre de la exposición a LableNombreActual labelNombreActual.Text = exposicion.Nombre; // Asignamos la descripcion de la exposición a LabelDescripcion de la exposición labelDescripcionActual.Text = exposicion.DescripcionExpo; // Asignamos el número de preguntas que la exposición tiene labelNumeroPreguntasActual.Text = Convert.ToString(numeroPreguntas); // TODO: // // labelIdiomasSeleccionadosActual.Text; // Si la exposición tiene algún nivel if (exposicion.Niveles.Count > 0) { // Recorremos los niveles de la exposicion foreach (Nivel nivel in exposicion.Niveles) { // Cremamos un ComboBoxItem para poder añadir también el objeto y usarlo posteriormente ComboBoxItem item = new ComboBoxItem { Text = nivel.Nombre, Tag = nivel }; // Añadimos el ComboBoxItem a ComboBoxNivel comboBoxNivel.Items.Add(item); } // Seleccionamos el primer elemento de ComboboxNivel comboBoxNivel.SelectedItem = 0; comboBoxNivel.Text = exposicion.Niveles[0].Nombre; // Aplicamos los cambios que se deban hacer al cambiar de nivel en una exposición CambiarNivel(exposicion.Niveles[0]); // Añadimos los idiomas como TabPage en TabControlIdiomas AnadirTabPagesIdiomas(exposicion.Idiomas); } } else { // Limpiamos del formulario la información de la exposición ClearExposicion(); } }
public void SaveInfo(Exposicion exposicion) { exposicion.Nombre = NombreExpo.Text; exposicion.DescripcionExpo = DescripcioExpo.Text; exposicion.FechaInicio = FechaInicio.Value; exposicion.FechaFin = FechaFin.Value; exposicion.Idiomas = ListLoadIdiomas(exposicion.Id); // - - - - - - - - - - carga idiomas desde json exposicion.Niveles = ListLoadNiveles(exposicion.Id); // - - - - - - - - - - carga niveles desde json exposicion.Personaje = ListLoadPersonajes(exposicion.Id); exposicion.QuestionsXLvl = int.Parse(PreguntasXNivel.Value.ToString()); exposicion.AnswerTimeOut = int.Parse(TimeOutAnswer.Text.ToString()); exposicion.QuestionTimeOut = int.Parse(TimeOutQuestion.Text.ToString()); exposicion.ReviewTimeOut = int.Parse(TimeOutResum.Text.ToString()); exposicion.AdminUser = UserAdmin.Text; exposicion.AdminPassword = PasswordAdmin.Text; }
/*********** * MÉTODOS * ***********/ public static int CountPreguntas(Exposicion exposicion) { Dictionary <Nivel, List <Pregunta> > preguntas = exposicion.Preguntas; int count = 0; if (preguntas != null) { foreach (KeyValuePair <Nivel, List <Pregunta> > preguntasSet in preguntas) { if (preguntasSet.Value != null) { count += preguntasSet.Value.Count; } } } return(count); }
public bool Read() { try { //Obetener sitio de db DALC.sitio sitio = CommonBC.BaseDeDatos.sitio.First(lugar => lugar.idsitio == IdSitio); Nombre = sitio.nombre; Direccion = sitio.direccion; Entrada = sitio.entrada; Salida = sitio.salida; EsGratis = Convert.ToChar(sitio.gratuito); TipoExposicion = this.EnumExposicion(sitio.exposicion_tipo); return(true); } catch (Exception) { return(false); } }
public void LoadInfo(Exposicion exposicion) { NombreExpo.Text = exposicion.Nombre; DescripcioExpo.Text = exposicion.DescripcionExpo; FechaInicio.Value.ToString(exposicion.FechaInicio.ToString()); FechaFin.Value.ToString(exposicion.FechaFin.ToString()); //FALTA: Depende de si existe del form carga las lists de expo o del JSON. ListLoadIdiomas(exposicion.Id); // - - - - - - - - - - carga idiomas desde json ListLoadNiveles(exposicion.Id); // - - - - - - - - - - carga niveles desde json ListLoadPersonajes(exposicion.Id); // - - - - - - - - - - carga personales desde json PreguntasXNivel.Value = exposicion.QuestionsXLvl; TimeOutQuestion.Text = exposicion.AnswerTimeOut.ToString(); TimeOutAnswer.Text = exposicion.QuestionTimeOut.ToString(); TimeOutResum.Text = exposicion.ReviewTimeOut.ToString(); UserAdmin.Text = exposicion.AdminUser; PasswordAdmin.Text = exposicion.AdminPassword; cargarImagen("sumimage.jpg", ImagenResumen, exposicion.Id); cargarImagen("appimage.jpg", ImagenApp, exposicion.Id); }
/// <summary> /// Controla las acciones que se deben hacer cuando se cambia el nivel en una exposición /// </summary> /// <param name="nivel">Nivel a controlar el cambio</param> private void CambiarNivel(Nivel nivel) { // Declariamos e inicializamos la exposición y la lista de preguntas con las que trataremos Exposicion exposicion = null; List <Pregunta> preguntas = null; // Si la ListViewExposiciones tiene algún elemento seleccionado if (listViewExposiciones.SelectedItems.Count > 0) { // Guardamos en variable la exposicón seleccionada exposicion = (Exposicion)listViewExposiciones.SelectedItems[0].Tag; } // Si la exposición tiene preguntas if (exposicion.Preguntas != null) { // Si existen preguntas para el nivel seleccionado en la exposición seleccionada if (exposicion.Preguntas.ContainsKey(nivel)) { // Guardamos en variable las preguntas del nivel seleccionado para esa exposicón preguntas = exposicion.Preguntas[nivel]; } } // Si tenemos preguntas if (preguntas != null) { // Asignamos el número de preguntas a LabelNumTotalPreguntas labelNumTotalPreguntas.Text = Convert.ToString(preguntas.Count); } // Si no tenemos preguntas else { // Asignamos igualmente un 0 a LabelNumTotalPreguntas labelNumTotalPreguntas.Text = "0"; } }
/// <summary> /// Se ejecuta cuando el usuario hace click en el ButtonAnadirPregunta /// </summary> /// <param name="sender">Elemento que envia el evento</param> /// <param name="e">Evento llamado</param> private void buttonAnadirPregunta_Click(object sender, EventArgs e) { if (SelectedPreguntaIdioma == null || (SelectedPreguntaIdioma == null && (!GetSelectedIdioma().Equals(GetSelectedExposicion().Idiomas[0])))) { AñadirPregunta(GetSelectedNivel(), GetSelectedExposicion()); } else if (!GetSelectedIdioma().Equals(GetSelectedExposicion().Idiomas[0])) { Console.WriteLine("NonEquals"); Exposicion exposicion = GetSelectedExposicion(); List <Pregunta> Preguntasxlevel = exposicion.Preguntas[GetSelectedNivel()]; int PreguntPos = BuscadorDePreguntas.GetPreguntaPos(Preguntasxlevel, SelectedPreguntaIdioma); SelectedPreguntaIdioma = exposicion.Preguntas[GetSelectedNivel()][PreguntPos].PreguntaIdiomas[exposicion.Idiomas[0]]; } if (SelectedPreguntaIdioma != null) { FormModificarPregunta formModificarPregunta = new FormModificarPregunta(SelectedPreguntaIdioma, GetSelectedExposicion().Preguntas, GetSelectedExposicion().Niveles, GetSelectedExposicion().Idiomas, GetSelectedExposicion().Id); formModificarPregunta.ShowDialog(); formModificarPregunta.Dispose(); } ActualitzarListPreguntas(GetSelectedNivel()); }
public Form_CrearExpo(Exposicion expo) { InitializeComponent(); contenedor = new Contenedores(textBoxCrearExpo_Nombre, textBoxCrearExpo_Descr, dateTimePickerCrearExpo_FechaInicio, dateTimePickerCrearExpo_FechaFin, listViewCrearExpo_Idiomas, listViewCrearExpo_NumeroNiveles, listViewCrearExpo_NumeroPersonajes, numericUpDownCrearExpo_PregXNivel, textBoxCrearExpo_TimeOutQ, textBoxCrearExpo_TimeOutA, textBoxCrearExpo_TimeOutR, textBoxCrearExpo_UserAdmin, textBoxCrearExpo_PassAdmin, pictureBoxImagenApp, pictureBoxImagenSum); exposicion = expo; }
/// <summary> /// Añade un TabPage dinámicamente con el nombre del idioma en TabControlIdiomas /// </summary> /// <param name="idioma">Idioma a añadir</param> private void AnadirTabPageIdioma(Idioma idioma) { // Creamos un nuevo TabPage con el texto del nombre del idioma TabPage tabPage = new TabPage(idioma.Nombre); // Añadimos el TabPage a TabControlIdiomas tabControlIdiomas.TabPages.Add(tabPage); // TODO: Recolocar creación de elementos ListViewPreguntas = new ListView { Dock = System.Windows.Forms.DockStyle.Fill, FullRowSelect = true, HideSelection = true, UseCompatibleStateImageBehavior = false, View = System.Windows.Forms.View.Details, }; ListViewPreguntas.SelectedIndexChanged += new System.EventHandler(listViewPreguntas_SelectedIndexChanged); tabPage.Controls.Add(ListViewPreguntas); Exposicion exposicion = GetSelectedExposicion(); if (exposicion != null) { // Numero ColumnHeader columnNumero = new ColumnHeader(); columnNumero.Text = "Nº"; // Pregunta ColumnHeader columnPregunta = new ColumnHeader(); columnPregunta.Text = "Pregunta"; columnPregunta.Width = 137; // Respuesta Correcta ColumnHeader columnRespuestaCorrecta = new ColumnHeader(); columnRespuestaCorrecta.Text = "Respuesta Correcta"; columnRespuestaCorrecta.Width = 115; // Respuesta Incorrecta 1 ColumnHeader columnRespuestaIncorrecta1 = new ColumnHeader(); columnRespuestaIncorrecta1.Text = "Respuesta Inc 1"; columnRespuestaIncorrecta1.Width = 123; // Respuesta Incorrecta 2 ColumnHeader columnRespuestaIncorrecta2 = new ColumnHeader(); columnRespuestaIncorrecta2.Text = "Respuesta Inc 2"; columnRespuestaIncorrecta2.Width = 137; // Respuesta Incorrecta 3 ColumnHeader columnRespuestaIncorrecta3 = new ColumnHeader(); columnRespuestaIncorrecta3.Text = "Respuesta Inc 3"; columnRespuestaIncorrecta3.Width = 130; // Añadimos columnas a la ListVIew ListViewPreguntas.Columns.Add(columnNumero); ListViewPreguntas.Columns.Add(columnPregunta); ListViewPreguntas.Columns.Add(columnRespuestaCorrecta); ListViewPreguntas.Columns.Add(columnRespuestaIncorrecta1); ListViewPreguntas.Columns.Add(columnRespuestaIncorrecta2); ListViewPreguntas.Columns.Add(columnRespuestaIncorrecta3); Dictionary <Nivel, List <Pregunta> > preguntasNivel = exposicion.Preguntas; Nivel nivel = GetSelectedNivel(); if (nivel != null && preguntasNivel != null && preguntasNivel.ContainsKey(nivel)) { ListViewPreguntas.Items.AddRange(ListViews.AddItems(preguntasNivel[nivel], idioma)); } } }
public ActionResult Crear([Bind(Include = "PiezaID,ExposicionID")] ExposicionPieza exposicionPieza) { exposicionPieza.Status = true; //verificar que ExposicionID NULL ó 0 if (exposicionPieza.ExposicionID == 0) { //si es NULL ó 0 //agregar valor de la busqueda a la tabla EXPOSICION //extraer el ID y asignarlo a EXPOSICIONPIEZA //validar que BuscarDato no sea "" o NULL var text_BuscarDato = Request.Form["BuscarDato"].ToString(); if (!String.IsNullOrEmpty(text_BuscarDato)) { var a_existe = db.Exposiciones.Where(a => a.Nombre == text_BuscarDato).ToList(); // si es repetido agregar su ID a ExposicionPieza if (a_existe.Count > 0) { //ya existe exposicionPieza.ExposicionID = a_existe.FirstOrDefault().ExposicionID; db.Entry(exposicionPieza).State = EntityState.Modified; } else { //no existe var exposicionNew = new Exposicion() { Nombre = text_BuscarDato, Status = true }; db.Exposiciones.Add(exposicionNew); db.SaveChanges(); exposicionPieza.ExposicionID = exposicionNew.ExposicionID; db.ExposicionPiezas.Add(exposicionPieza); } db.SaveChanges(); //AlertaSuccess(string.Format("Exposición: <b>{0}</b> se agrego con exitó.", exposicion.Nombre), true); string url = Url.Action("Lista", "ExposicionPieza", new { id = exposicionPieza.PiezaID }); return Json(new { success = true, url = url, modelo = "ExposicionPieza", lista = "lista", idPieza = exposicionPieza.PiezaID }); } } else { //no es NULL ó 0 //verificar que no exista ya el registro para la pieza var expoPieza_existe = db.ExposicionPiezas.Where(a => a.PiezaID == exposicionPieza.PiezaID && a.ExposicionID == exposicionPieza.ExposicionID).ToList(); // si es repetido agregar su ID a ExposicionPieza if (expoPieza_existe.Count <= 0) { //crear db.ExposicionPiezas.Add(exposicionPieza); db.SaveChanges(); } //AlertaSuccess(string.Format("Exposición: <b>{0}</b> se agrego con exitó.", exposicion.Nombre), true); string url = Url.Action("Lista", "ExposicionPieza", new { id = exposicionPieza.PiezaID }); return Json(new { success = true, url = url, modelo = "ExposicionPieza", lista = "lista", idPieza = exposicionPieza.PiezaID }); } //AlertaSuccess(string.Format("Exposición: <b>{0}</b> se agrego con exitó.", exposicion.Nombre), true); ViewBag.ExposicionID = new SelectList(db.Exposiciones.Where(e => e.Status == true), "ExposicionID", "Nombre", exposicionPieza.ExposicionID); return PartialView("_Crear", exposicionPieza); }
/// <summary> /// Se ejecuta cuando el usuario hace click en ButtonExportarExposicion /// </summary> /// <param name="sender">Elemento que envia el evento</param> /// <param name="e">Evento llamado</param> /// private void buttonExportarExposicion_Click(object sender, EventArgs e) { //SaveFileDialog saveFileDialog = new SaveFileDialog(); //saveFileDialog.FileName = (GetSelectedExposicion().Nombre); //saveFileDialog.Filter = "Archivo .JSON (*.JSON)|*.JSON|Todos los archivos (*.*)|*.*"; //saveFileDialog.ShowDialog(); //saveFileDialog.FileName //ControladorPrincipal.Guardar(); // - - - - - - - - - - - - - - - - - - - - - - - - MAGOMO Exposicion expo = GetSelectedExposicion(); if (expo != null) { string fullpath = Directory.GetParent(Environment.CurrentDirectory).Parent.FullName; string dataespath = fullpath + @"\Files\"; string imagespath = fullpath + @"\Images\"; // estructura de exportacion string targetpath = fullpath + @"\Export\E" + expo.Id; string xprtbase = targetpath + @"\XPOmanager"; string xprtdata = xprtbase + @"\data"; // aqui va el exposicion.json string xprtimagenes = xprtdata + @"\Imagenes"; string xprtelements = xprtimagenes + @"\Elements"; // aqui van las imagenes que no son preguntas string xprtpregunts = xprtimagenes + @"\Elements"; // aqui van las imagenes que son preguntas // ----- prepara carpeta export if (Directory.Exists(targetpath)) { System.IO.DirectoryInfo dirinfo; // elimina archivos contenidos para generar nuevos dirinfo = new System.IO.DirectoryInfo(xprtdata); foreach (System.IO.FileInfo file in dirinfo.GetFiles()) { file.Delete(); } // elimina archivos contenidos para generar nuevos dirinfo = new System.IO.DirectoryInfo(xprtelements); foreach (System.IO.FileInfo file in dirinfo.GetFiles()) { file.Delete(); } // elimina archivos contenidos para generar nuevos dirinfo = new System.IO.DirectoryInfo(xprtpregunts); foreach (System.IO.FileInfo file in dirinfo.GetFiles()) { file.Delete(); } } else { // crea directorio Directory.CreateDirectory(targetpath); Directory.CreateDirectory(xprtbase); Directory.CreateDirectory(xprtdata); Directory.CreateDirectory(xprtimagenes); Directory.CreateDirectory(xprtelements); // Directory.CreateDirectory(xprtpregunts); } // ----- carga literales de app en json de exposicion if (expo.ExposicionIdiomas == null) { expo.ExposicionIdiomas = new Dictionary <Idioma, ExposicionIdioma>(); } if (File.Exists(dataespath + "literalesE" + expo.Id + ".json")) { //fullpath + @"Files\ + "literales" + "E" + nExpoId + ".json" JArray jsonlites = JArray.Parse(File.ReadAllText(dataespath + "literalesE" + expo.Id + ".json")); List <ExposicionIdioma> literales = jsonlites.ToObject <List <ExposicionIdioma> >(); Dictionary <Idioma, ExposicionIdioma> exposicionIdiomas = new Dictionary <Idioma, ExposicionIdioma>(); foreach (ExposicionIdioma exposicionIdioma in literales) { foreach (Idioma idioma in expo.Idiomas) { if (idioma.Id == exposicionIdioma.LangId) { exposicionIdiomas.Add(idioma, exposicionIdioma); } } } expo.ExposicionIdiomas = exposicionIdiomas; foreach (Idioma lang in expo.Idiomas) { foreach (ExposicionIdioma langlite in literales) { if (lang.Id.Equals(langlite.LangId)) { if (expo.ExposicionIdiomas == null) { expo.ExposicionIdiomas.Add(lang, langlite); } } } } } // ----- graba json en carpeta de exportacion using (StreamWriter fichero = File.CreateText(xprtdata + @"\" + "exposicion.json")) { JsonSerializerSettings settings = new JsonSerializerSettings { ContractResolver = new DictionaryAsArrayResolver() }; String json = JsonConvert.SerializeObject(expo, settings); fichero.Write(json); } // ----- graba imagenes // appimage if (File.Exists(imagespath + "appimage" + expo.Id + ".jpg")) { File.Copy(imagespath + "appimage" + expo.Id + ".jpg", xprtelements + @"\" + "appimage" + ".jpg"); } // sumimage if (File.Exists(imagespath + "sumimage" + expo.Id + ".jpg")) { File.Copy(imagespath + "sumimage" + expo.Id + ".jpg", xprtelements + @"\" + "sumimage" + ".jpg"); } // banderas foreach (Idioma lang in expo.Idiomas) { if (File.Exists(imagespath + lang.Image)) { File.Copy(imagespath + lang.Image, xprtelements + @"\" + lang.Image); } } // personajes foreach (Personaje charac in expo.Personaje) { if (File.Exists(imagespath + charac.Image)) { File.Copy(imagespath + charac.Image, xprtelements + @"\" + charac.Image); } } // Preguntas foreach (Nivel nivel in expo.Niveles) { foreach (Pregunta pregunta in expo.Preguntas[nivel]) { if (File.Exists(imagespath + pregunta.ImagenPregunta)) { File.Copy(imagespath + pregunta.ImagenPregunta, xprtpregunts + @"\" + pregunta.ImagenPregunta); } if (File.Exists(imagespath + pregunta.ImagenRespuestaCorrecta)) { File.Copy(imagespath + pregunta.ImagenRespuestaCorrecta, xprtpregunts + @"\" + pregunta.ImagenRespuestaCorrecta); } if (File.Exists(imagespath + pregunta.ImagenRespuestaIncorrecta1)) { File.Copy(imagespath + pregunta.ImagenRespuestaIncorrecta1, xprtpregunts + @"\" + pregunta.ImagenRespuestaIncorrecta1); } if (File.Exists(imagespath + pregunta.ImagenRespuestaIncorrecta2)) { File.Copy(imagespath + pregunta.ImagenRespuestaIncorrecta2, xprtpregunts + @"\" + pregunta.ImagenRespuestaIncorrecta2); } if (File.Exists(imagespath + pregunta.ImagenRespuestaIncorrecta3)) { File.Copy(imagespath + pregunta.ImagenRespuestaIncorrecta3, xprtpregunts + @"\" + pregunta.ImagenRespuestaIncorrecta3); } } } // ----- selecciona carpeta de exportacion de archivo zip string zipPath = Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\Export"; using (FolderBrowserDialog folderdiag = new FolderBrowserDialog()) { if (folderdiag.ShowDialog() == DialogResult.OK) { if (folderdiag.SelectedPath.Length > 0) { zipPath = folderdiag.SelectedPath; } } } if (File.Exists(zipPath + @"\E" + expo.Id + ".zip")) { File.Delete(zipPath + @"\E" + expo.Id + ".zip"); } ZipFile.CreateFromDirectory(targetpath, zipPath + @"\E" + expo.Id + ".zip"); MessageBox.Show("Se han exportado los datos de la Exposicion \"" + expo.Nombre + "\"", "INFORMACION", MessageBoxButtons.OK, MessageBoxIcon.Information); // - - - - - - - - - - - - - - - - - - - - - - - -/MAGOMO } }
/// <summary> /// Se ejecuta cuando el usuario hace click en el ButtonCrearExposicion /// </summary> /// <param name="sender">Elemento que envia el evento</param> /// <param name="e">Evento llamado</param> private void buttonCrearExposicion_Click(object sender, EventArgs e) { Exposiciones = ControladorPrincipal.Exposiciones; Exposicion exposicion = GetSelectedExposicion(); Form_CrearExpo formCrearExpo = null; if (exposicion != null) { formCrearExpo = new Form_CrearExpo(exposicion); formCrearExpo.ShowDialog(); } else // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MAGOMO 20191208 { exposicion = new Exposicion(); if (Exposiciones != null) { exposicion.Id = Exposiciones.Count; } else { exposicion.Id = 0; } formCrearExpo = new Form_CrearExpo(exposicion); formCrearExpo.ShowDialog(); if (exposicion.Nombre != null) { exposicion.Preguntas = new Dictionary <Nivel, List <Pregunta> >(); if (Exposiciones == null) { Exposiciones = new List <Exposicion>(); } Exposiciones.Add(exposicion); ControladorPrincipal.Exposiciones = Exposiciones; } } formCrearExpo.Dispose(); ActualizarListViewExposiciones(); int numeroDePreguntasAllenar = exposicion.QuestionsXLvl; Console.WriteLine("Numero de preguntas a rellenar: " + numeroDePreguntasAllenar); exposicion.Preguntas = ControladorPrincipal.ListPreguntas(exposicion.Niveles, exposicion.Idiomas, exposicion.Preguntas); //Comprobar que esten los niveles de Key = list niveles Console.WriteLine("Numero de niveles: " + exposicion.Niveles.Count); foreach (Nivel nivel in exposicion.Niveles) { Console.WriteLine("Nivel: " + nivel.Nombre); if (!exposicion.Preguntas.ContainsKey(nivel)) { exposicion.Preguntas.Add(nivel, new List <Pregunta>()); } for (int cnt = exposicion.Preguntas[nivel].Count; cnt < numeroDePreguntasAllenar; cnt++) { Console.WriteLine("Numero Preguntas: " + exposicion.Preguntas[nivel].Count); AñadirPregunta(nivel, exposicion); } } //ControladorPrincipal.SeeLevels(GetSelectedExposicion().Niveles, GetSelectedExposicion().Preguntas); ActualitzarListPreguntas(GetSelectedNivel()); }