protected override void GetFormSourceData(long oid) { Examen examen = Examen.Get(oid, true); string[] preguntas = examen.MemoPreguntas.Split(';'); //se genera la lista de preguntas del examen con la que se va a trabajar foreach (string item in preguntas) { try { long oid_pregunta = Convert.ToInt32(item); Pregunta_Examen p_examen = Pregunta_Examen.NewChild(examen); p_examen.OidPregunta = oid_pregunta; examen.Pregunta_Examens.AddItem(p_examen); } catch { continue; } } _entity = examen.GetInfo(true); examen.CloseSession(); _mf_type = ManagerFormType.MFView; }
protected override void GetFormSourceData(long oid) { _entity = Examen.Get(oid); string[] preguntas = _entity.MemoPreguntas.Split(';'); //se genera la lista de preguntas del examen con la que se va a trabajar foreach (string item in preguntas) { try { if (item != string.Empty) { long oid_pregunta = Convert.ToInt32(item); Pregunta_Examen p_examen = Pregunta_Examen.NewChild(_entity); p_examen.OidPregunta = oid_pregunta; _entity.Pregunta_Examens.AddItem(p_examen); } } catch { continue; } } _entity.BeginEdit(); _mf_type = ManagerFormType.MFEdit; }
private void Aceptar_Button_Click(object sender, EventArgs e) { _entity.Pregunta_Examens = Pregunta_Examens.NewChildList(); foreach (TreeNode t in Arbol_TV.Nodes) { foreach (TreeNode preg in t.Nodes) { if (preg.Checked && preg.ImageKey == Properties.Settings.Default.PREGUNTA_DISPONIBLE_ICON) { PreguntaInfo p = Preg.GetItem(((PreguntaInfo)preg.Tag).Oid); //if (!Esta(((PreguntaInfo)preg.Tag).Oid)) //{ Pregunta_Examen pregunta = Pregunta_Examen.NewChild(_entity); pregunta.OidPregunta = p.Oid; _entity.Pregunta_Examens.AddItem(pregunta); //} //if (_entity.FechaExamen.Date.Equals(DateTime.MaxValue.Date)) // p.FechaDisponibilidad = DateTime.MaxValue; //else // p.FechaDisponibilidad = _entity.FechaExamen.Date.AddYears(1); //p.Reservada = true; //p.Bloqueada = false; // se libera porque sino se podría confundir con una pregunta que está en un examen emitido //_memo_preguntas += ((Pregunta)preg.Tag).Oid.ToString() + ";"; } //else //{ // //si estaba pero se ha deseleccionado hay que marcarla como disponible // if (Esta(((PreguntaInfo)preg.Tag).Oid)) // { // PreguntaInfo p = Preg.GetItem(((PreguntaInfo)preg.Tag).Oid); // //hay que buscar el indice de la Pregunta_Examen y quitarla de la lista // int index = 0; // foreach (Pregunta_Examen item in _entity.Pregunta_Examens) // { // if (item.OidPregunta == p.Oid) // break; // index++; // } // _entity.Pregunta_Examens.RemoveAt(index); // //p.FechaDisponibilidad = DateTime.Today; // //p.Reservada = false; // } //} } } //_entity.MemoPreguntas = _memo_preguntas; //_modulo.Preguntas = Preg; Close(); }
private void Select_Button_Click(object sender, EventArgs e) { _plantilla = PlantillaExamenInfo.Get(ActiveOID); if (_plantilla != null) { _guardado = true; if (!_plantilla.Desarrollo) { TemaList temas = TemaList.GetModuloList(_modulo.Oid, false); foreach (Preguntas_PlantillaInfo item in _plantilla.Preguntas) { long count = item.NPreguntas; PreguntaList preguntas_tema = PreguntaList.GetPreguntasDisponiblesTema(item.OidTema, _entity.Desarrollo, _entity.FechaExamen, count); if (preguntas_tema != null) { foreach (PreguntaInfo info in preguntas_tema) { if (count == 0) { break; } Pregunta_Examen pregunta = Pregunta_Examen.NewChild(_entity); pregunta.OidPregunta = info.Oid; _entity.Pregunta_Examens.AddItem(pregunta); count--; } } if (count != 0) { TemaInfo tema = temas.GetItem(item.OidTema); MessageBox.Show("No hay suficientes preguntas disponibles para el tema " + tema.Codigo); } } } else { long count = _plantilla.NPreguntas; PreguntaList preguntas = PreguntaList.GetPreguntasDisponiblesModulo(_entity.OidModulo, _entity.Desarrollo, _entity.FechaExamen, count); if (preguntas != null) { foreach (PreguntaInfo info in preguntas) { if (count == 0) { break; } Pregunta_Examen pregunta = Pregunta_Examen.NewChild(_entity); pregunta.OidPregunta = info.Oid; _entity.Pregunta_Examens.AddItem(pregunta); count--; } } if (count != 0) { MessageBox.Show("No hay suficientes preguntas disponibles en el submódulo"); } } } Cerrar(); Close(); }