protected override void ResumenAction() { ResumenActionForm form = new ResumenActionForm(); string memo = string.Empty; if (_entity.MemoPreguntas != string.Empty) { memo = _entity.MemoPreguntas.Substring(0, _entity.MemoPreguntas.Length - 1); } PreguntaList preguntas = PreguntaList.GetPreguntasByList(memo); form.SetSourceData(EntityInfo, _modulo, preguntas); form.ShowDialog(); }
protected override void RellenaPreguntas() { PreguntaList _preguntas_examen = null; string memo = string.Empty; foreach (Pregunta_ExamenInfo item in _entity.Preguntas) { if (memo != string.Empty) { memo += ","; } memo += item.OidPregunta.ToString(); } if (memo != string.Empty) { _preguntas_examen = PreguntaList.GetPreguntasByList(memo); string inactivas = string.Empty; foreach (PreguntaInfo item in _preguntas_examen) { if (!item.Activa) { inactivas += item.Serial.ToString() + ", "; } } if (inactivas != string.Empty) { inactivas = inactivas.Substring(0, inactivas.Length - 2); MessageBox.Show(string.Format(Resources.Messages.PREGUNTAS_INACTIVAS, inactivas), moleQule.Library.Application.AppController.APP_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } Datos_Preguntas.DataSource = _preguntas_examen; Preguntas_TB.Text = Datos_Preguntas.Count.ToString(); }
protected override void CellContentClick(int column, int row) { switch (Preguntas_Grid.Columns[column].Name) { case "Ver_BT": { string memo = _entity.MemoPreguntas; if (memo != string.Empty) { memo = memo.Substring(0, memo.Length - 1); } memo = memo.Replace(';', ','); PreguntaList preguntas = PreguntaList.GetPreguntasByList(memo); PreguntaInfo info = (PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem; PreguntasViewForm form = new PreguntasViewForm(info.Oid, preguntas, true); form.ShowDialog(); } break; } }
protected override void CellContentClick(int column, int row) { switch (Preguntas_Grid.Columns[column].Name) { case "Ordenar_BT": { OrdenarPreguntasInputForm form = new OrdenarPreguntasInputForm(true, row + 1); form.SetSourceData(Entity, Preguntas_Grid.Rows.Count); form.ShowDialog(); RellenaPreguntas(); } break; case "Ver_BT": { //Pregunta.OpenSession(); string memo = string.Empty; foreach (Pregunta_Examen item in Entity.Pregunta_Examens) { memo += item.OidPregunta.ToString() + ","; } if (memo != string.Empty) { memo = memo.Substring(0, memo.Length - 1); } PreguntaList preguntas = PreguntaList.GetPreguntasByList(memo); PreguntaInfo info = (PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem; PreguntasViewForm form = new PreguntasViewForm(info.Oid, preguntas, true); form.ShowDialog(); } break; case "Editar_BT": { string memo = string.Empty; foreach (Pregunta_Examen item in Entity.Pregunta_Examens) { memo += item.OidPregunta.ToString() + ","; } if (memo != string.Empty) { memo = memo.Substring(0, memo.Length - 1); } Preguntas preguntas = Preguntas.GetPreguntasByList(memo, _entity.SessionCode); Preguntas ordenadas = Preguntas.NewList(); PreguntaInfo info = (PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem; //se ordenan las preguntas para que se vayan mostrando en el mismo orden que en el examen foreach (Pregunta_Examen item in _entity.Pregunta_Examens) { ordenadas.AddItem(preguntas.GetItem(item.OidPregunta)); } Pregunta activa = ordenadas.GetItem(info.Oid); SortedBindingList <Pregunta> sorted = Preguntas.SortList(ordenadas, "Codigo", ListSortDirection.Ascending); PreguntasEditForm form = new PreguntasEditForm(activa, sorted, true); form.ShowDialog(); //se recarga la lista de preguntas a seleccionar para que estén actualizadas PreguntasModulo = PreguntaList.GetPreguntasModulo(_entity.OidModulo, _entity.MemoPreguntas); RellenaPreguntas(); //preguntas.CloseSession(); ordenadas.CloseSession(); } break; case "Eliminar_BT": { DialogResult result; result = MessageBox.Show("¿Está seguro que desea eliminar la pregunta seleccionada?", "Aviso", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { //string memo_preguntas = Entity.MemoPreguntas; //int pos = 0; //long oid_eliminada = ((PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem).Oid; //string[] lista = Entity.MemoPreguntas.Split(';'); //Entity.MemoPreguntas = string.Empty; //foreach (string oid in lista) //{ // try // { // long oid_pregunta = Convert.ToInt32(oid); // if (oid_pregunta != oid_eliminada) // Entity.MemoPreguntas += oid_pregunta + ";"; // else // { // Pregunta item = _preguntas.GetItem(oid_pregunta); // item.Reservada = false; // } // } // catch // { // continue; // } //} foreach (Pregunta_Examen item in Entity.Pregunta_Examens) { if (item.OidPregunta == ((PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem).Oid) { Entity.Pregunta_Examens.Remove(item); break; } } //while (memo_preguntas != string.Empty) //{ // string pregunta; // int index = memo_preguntas.IndexOf(";"); // pregunta = memo_preguntas.Substring(0, index + 1); // memo_preguntas = memo_preguntas.Substring(index + 1); // if (pos != row) // Entity.MemoPreguntas += pregunta; // else // { // int l = pregunta.Length; // Pregunta p = _modulo.Preguntas.GetItem(Convert.ToInt64(pregunta.Substring(0, l - 1))); // p.Reservada = false; // } // pos++; //} RellenaPreguntas(); } } break; } }
protected override void PrintAction() { if (Entity.Pregunta_Examens.Count == 0) { return; } moleQule.Library.Timer t = new moleQule.Library.Timer(); t.Start(); //se obliga a guardar el examen antes de imprimir por si durante la impresión hubiera algún problema //quedan guardadas las modificaciones que pudieran no haberse guardado //if (Entity.IsDirty) //{ //DialogResult result = MessageBox.Show(Resources.Messages.GUARDADO_EXAMEN, // moleQule.Face.Resources.Labels.ADVISE_TITLE, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); //if (result == DialogResult.OK) //{ try { ValidateInput(); } catch (iQValidationException ex) { MessageBox.Show(ex.Message, moleQule.Face.Resources.Labels.ADVISE_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //} //else // return; //} Entity.PreguntaExamens = PreguntaExamens.NewChildList(); string memo = string.Empty; foreach (Pregunta_Examen item in Entity.Pregunta_Examens) { memo += item.OidPregunta.ToString() + ","; } if (memo != string.Empty) { memo = memo.Substring(0, memo.Length - 1); } RespuestaList respuestas = RespuestaList.GetRespuestasExamenList(memo); foreach (DataGridViewRow row in Preguntas_Grid.Rows) { PreguntaInfo p = _preguntas_modulo.GetItem(((PreguntaInfo)row.DataBoundItem).Oid); t.Record("Obtener pregunta de la lista de preguntas del examen"); PreguntaExamen pexamen = PreguntaExamen.NewChild(_entity); pexamen.CopyValues(p); pexamen.Orden = Convert.ToInt64(row.Cells[N_Orden.Name].Value); pexamen.MarkItemChild(); t.Record("Crear PreguntaExamen"); Entity.PreguntaExamens.AddItem(pexamen); FCriteria <long> criteria = new FCriteria <long>("OidPregunta", p.Oid); foreach (RespuestaInfo item in respuestas) { if (p.Oid == item.OidPregunta) { RespuestaExamen rexamen = RespuestaExamen.NewChild(pexamen); rexamen.CopyValues(item); rexamen.MarkItemChild(); pexamen.RespuestaExamens.AddItem(rexamen); } } } //Preguntas preguntas_examen = null;/* Pregunta.GetPreguntasByList(memo);*/ PreguntaList preguntas_examen_list = PreguntaList.GetPreguntasByList(memo); if (EntityInfo.Desarrollo) { //tiene que llamar a ExamenDesarrolloReportForm ExamenDesarrolloReportForm form = new ExamenDesarrolloReportForm(true, EntityInfo, preguntas_examen_list, _entity.Pregunta_Examens); form.ShowDialog(); } else { //tiene que llamar a ExamenTestReportForm ExamenTestReportForm form = new ExamenTestReportForm(true, EntityInfo, preguntas_examen_list, _entity.Pregunta_Examens); form.ShowDialog(); } Entity.PreguntaExamens = PreguntaExamens.NewChildList(); }
protected override void RellenaPreguntas() { //Preguntas lista_aux = Preguntas.NewList(); PreguntaList _preguntas_examen = null; //if (EntityInfo.MemoPreguntas.Length > 0) //{ // string lista = EntityInfo.MemoPreguntas.Replace(';', ',').Substring(0, EntityInfo.MemoPreguntas.Length - 1); // lista_aux = Preguntas.GetPreguntasByList(lista); //} //string[] oid_preguntas = EntityInfo.MemoPreguntas.Split(';'); //foreach (string item in oid_preguntas) //{ // try // { // long oid = Convert.ToInt32(item); // //en _preguntas_examen se guardan las preguntas ordenadas según el campo MemoPreguntas // _preguntas_examen.AddItem(lista_aux.GetItem(oid)); // } // catch // { // continue; // } //} string memo = string.Empty; foreach (Pregunta_Examen item in _entity.Pregunta_Examens) { if (memo != string.Empty) { memo += ","; } memo += item.OidPregunta.ToString(); } if (memo != string.Empty) { _preguntas_examen = PreguntaList.GetPreguntasByList(memo); string inactivas = string.Empty; foreach (PreguntaInfo item in _preguntas_examen) { if (!item.Activa) { inactivas += item.Serial.ToString() + ", "; } } if (inactivas != string.Empty) { inactivas = inactivas.Substring(0, inactivas.Length - 2); MessageBox.Show(string.Format(Resources.Messages.PREGUNTAS_INACTIVAS, inactivas), moleQule.Library.Application.AppController.APP_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } Datos_Preguntas.DataSource = _preguntas_examen; Preguntas_TB.Text = Datos_Preguntas.Count.ToString(); TimeSpan duracion = TimeSpan.Zero; TimeSpan tiempo_pregunta; if (_entity.Desarrollo) { tiempo_pregunta = moleQule.Library.Instruction.ModulePrincipal.GetTiempoPreguntasTipoDesarrolloSetting().TimeOfDay; } else { tiempo_pregunta = moleQule.Library.Instruction.ModulePrincipal.GetTiempoPreguntasTipoTestSetting().TimeOfDay; } duracion = TimeSpan.FromSeconds(tiempo_pregunta.TotalSeconds * Datos_Preguntas.Count); _entity.Duracion = Convert.ToDateTime(duracion.ToString()); Duracion_MTB.Text = _entity.Duracion.Hour.ToString("00") + ":" + _entity.Duracion.Minute.ToString("00"); }