internal void Update(PreguntaExamen parent) { // if we're not dirty then don't update the database if (!this.IsDirty) { return; } OidPregunta = parent.Oid; try { ValidationRules.CheckRules(); if (!IsValid) { throw new iQValidationException(moleQule.Library.Resources.Messages.GENERIC_VALIDATION_ERROR); } RespuestaExamenRecord obj = parent.Session().Get <RespuestaExamenRecord>(Oid); obj.CopyValues(this.Base.Record); parent.Session().Update(obj); } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
internal void DeleteSelf(PreguntaExamen parent) { // if we're not dirty then don't update the database if (!this.IsDirty) { return; } // if we're new then don't update the database if (this.IsNew) { return; } try { parent.Session().Delete(parent.Session().Get <RespuestaExamenRecord>(Oid)); } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkNew(); }
internal void Update(PreguntaExamen parent) { this.RaiseListChangedEvents = false; // update (thus deleting) any deleted child objects foreach (RespuestaExamen obj in DeletedList) { obj.DeleteSelf(parent); } // now that they are deleted, remove them from memory too DeletedList.Clear(); // AddItem/update any current child objects foreach (RespuestaExamen obj in this) { if (obj.IsNew) { obj.Insert(parent); } else { obj.Update(parent); } } this.RaiseListChangedEvents = true; }
private void Fetch(Examen source) { try { SessionCode = source.SessionCode; _base.CopyValues(source); CriteriaEx criteria = Pregunta_Examen.GetCriteria(Session()); criteria.AddEq("OidExamen", this.Oid); _preguntas = Pregunta_Examens.GetChildList(criteria.List <Pregunta_Examen>()); criteria = PreguntaExamen.GetCriteria(Session()); criteria.AddEq("OidExamen", this.Oid); _preguntaexamens = PreguntaExamens.GetChildList(criteria.List <PreguntaExamen>()); criteria = Alumno_Examen.GetCriteria(Session()); criteria.AddEq("OidExamen", this.Oid); _alumnos = Alumno_Examens.GetChildList(criteria.List <Alumno_Examen>()); criteria = ExamenPromocion.GetCriteria(Session()); criteria.AddEq("OidExamen", this.Oid); _promociones = ExamenPromociones.GetChildList(criteria.List <ExamenPromocion>()); } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
public ActionResult DeleteConfirmed(int id) { PreguntaExamen preguntaExamen = db.PreguntaExamen.Find(id); db.PreguntaExamen.Remove(preguntaExamen); db.SaveChanges(); return(RedirectToAction("Index")); }
//internal void Insert(Modulo parent) //{ // // if we're not dirty then don't update the database // if (!this.IsDirty) return; // //Debe obtener la sesion del padre pq el objeto es padre a su vez // SessionCode = parent.SessionCode; // _oid_modulo = parent.Oid; // try // { // ValidationRules.CheckRules(); // if (!IsValid) // throw new iQValidationException(moleQule.Library.Resources.Messages.GENERIC_VALIDATION_ERROR); // parent.Session().Save(this); // _preguntas.Update(this); // _preguntaexamens.Update(this); // _alumnos.Update(this); // } // catch (Exception ex) // { // iQExceptionHandler.TreatException(ex); // } // MarkOld(); //} //internal void Update(Modulo parent) //{ // // if we're not dirty then don't update the database // if (!this.IsDirty) return; // //Debe obtener la sesion del padre pq el objeto es padre a su vez // SessionCode = parent.SessionCode; // _oid_modulo = parent.Oid; // try // { // ValidationRules.CheckRules(); // if (!IsValid) // throw new iQValidationException(moleQule.Library.Resources.Messages.GENERIC_VALIDATION_ERROR); // Examen obj = parent.Session().Get<Examen>(Oid); // obj.CopyValues(this); // parent.Session().Update(obj); // _preguntas.Update(this); // _preguntaexamens.Update(this); // _alumnos.Update(this); // } // catch (Exception ex) // { // iQExceptionHandler.TreatException(ex); // } // MarkOld(); //} //internal void DeleteSelf(Modulo parent) //{ // // if we're not dirty then don't update the database // if (!this.IsDirty) return; // // if we're new then don't update the database // if (this.IsNew) return; // try // { // SessionCode = parent.SessionCode; // Session().Delete(Session().Get<Examen>(Oid)); // } // catch (Exception ex) // { // iQExceptionHandler.TreatException(ex); // } // MarkNew(); //} #endregion #region Root Data Access // called to retrieve data from the database private void DataPortal_Fetch(CriteriaEx criteria) { try { SessionCode = criteria.SessionCode; Childs = criteria.Childs; if (nHMng.UseDirectSQL) { Examen.DoLOCK(Session()); IDataReader reader = nHManager.Instance.SQLNativeSelect(criteria.Query, Session()); if (reader.Read()) { _base.CopyValues(reader); } if (Childs) { Pregunta_Examen.DoLOCK(Session()); string query = Pregunta_Examens.SELECT_BY_EXAMEN(this.Oid); reader = nHManager.Instance.SQLNativeSelect(query, Session()); _preguntas = Pregunta_Examens.GetChildList(reader); PreguntaExamen.DoLOCK(Session()); query = PreguntaExamens.SELECT_BY_EXAMEN(this.Oid); reader = nHManager.Instance.SQLNativeSelect(query, Session()); _preguntaexamens = PreguntaExamens.GetChildList(criteria.SessionCode, reader); Alumno_Examen.DoLOCK(Session()); query = Alumno_Examens.SELECT(GetInfo(false)); reader = nHManager.Instance.SQLNativeSelect(query, Session()); _alumnos = Alumno_Examens.GetChildList(criteria.SessionCode, reader); ExamenPromocion.DoLOCK(Session()); query = ExamenPromociones.SELECT(this); reader = nHManager.Instance.SQLNativeSelect(query, Session()); _promociones = ExamenPromociones.GetChildList(criteria.SessionCode, reader); } } } catch (Exception ex) { if (Transaction() != null) { Transaction().Rollback(); } iQExceptionHandler.TreatException(ex); } }
protected void SetPreguntaAnterior() { int index = Lista.IndexOf(_pregunta); if (index > 0) { _pregunta = Lista.GetItem(Lista[index - 1].Oid); RefreshMainData(); } SetDependentControlSource(Modulo_CB.Name); }
protected void SetPreguntaSiguiente() { int index = Lista.IndexOf(_pregunta); if (index < Lista.Count - 1) { _pregunta = Lista.GetItem(Lista[index + 1].Oid); RefreshMainData(); } SetDependentControlSource(Modulo_CB.Name); }
public ActionResult Edit([Bind(Include = "ID,ExamenID,PreguntaID")] PreguntaExamen preguntaExamen) { if (ModelState.IsValid) { db.Entry(preguntaExamen).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ExamenID = new SelectList(db.Examen, "ID", "Nombre", preguntaExamen.ExamenID); ViewBag.PreguntaID = new SelectList(db.Preguntas, "ID", "Nombre", preguntaExamen.PreguntaID); return(View(preguntaExamen)); }
public static RespuestaExamen NewChild(PreguntaExamen parent) { if (!CanAddObject()) { throw new System.Security.SecurityException( moleQule.Library.Resources.Messages.USER_NOT_ALLOWED); } RespuestaExamen obj = new RespuestaExamen(); obj.OidPregunta = parent.Oid; return(obj); }
// private PreguntaExamenList() { } /// <summary> /// Retrieve the complete list from db /// </summary> /// <returns>PreguntaExamenList</returns> public static PreguntaExamenList GetList(bool childs) { CriteriaEx criteria = PreguntaExamen.GetCriteria(PreguntaExamen.OpenSession()); criteria.Childs = childs; criteria.Query = PreguntaExamenList.SELECT(); PreguntaExamenList list = DataPortal.Fetch <PreguntaExamenList>(criteria); CloseSession(criteria.SessionCode); return(list); }
protected override void EmitirAction() { _entity.PreguntaExamens = PreguntaExamens.NewChildList(); if (Entity.FechaExamen.Date.Equals(DateTime.MaxValue.Date)) { MessageBox.Show("No se puede emitir un examen que no tiene fecha de examen."); return; } if (Entity.Pregunta_Examens.Count == 0) { MessageBox.Show("No se puede emitir un examen que no tiene preguntas."); return; } PgMng.Reset((Preguntas_Grid.Rows.Count * 2) + 2, 1, "Guardando estado actual de las preguntas...", this); foreach (DataGridViewRow row in Preguntas_Grid.Rows) { PreguntaInfo p = _preguntas_modulo.GetItem(((PreguntaInfo)row.DataBoundItem).Oid); if (!p.Activa) { continue; } //se añade la nueva PreguntaExamen al examen a partir de la Pregunta PreguntaExamen pexamen = _entity.PreguntaExamens.NewItem(_entity); FCriteria <long> criteria = new FCriteria <long>("OidPregunta", p.Oid); pexamen.CopyValues(p); pexamen.Orden = Convert.ToInt64(row.Cells[N_Orden.Name].Value); List <RespuestaInfo> respuestas = _respuestas_modulo.GetSubList(criteria); foreach (RespuestaInfo item in respuestas) { if (item.OidPregunta == p.Oid) { RespuestaExamen rexamen = RespuestaExamen.NewChild(pexamen); rexamen.CopyValues(item); rexamen.OidExamen = _entity.Oid; rexamen.MarkItemChild(); pexamen.RespuestaExamens.AddItem(rexamen); } } PgMng.Grow(); } Entity.FechaEmision = DateTime.Now; SaveAction(); }
public PreguntasEmitidasViewForm(long oid, PreguntaExamens preguntas, PreguntaList lista, bool ismodal) : base(ismodal) { InitializeComponent(); Lista = preguntas; _lista_preguntas = lista; _pregunta = Lista.GetItem(oid); if (Lista != null) { SetFormData(); this.Text = Resources.Labels.PREGUNTA_EDIT_TITLE; } _mf_type = ManagerFormType.MFView; }
// GET: PreguntaExamen/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PreguntaExamen preguntaExamen = db.PreguntaExamen.Find(id); if (preguntaExamen == null) { return(HttpNotFound()); } return(View(preguntaExamen)); }
// GET: PreguntaExamen/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PreguntaExamen preguntaExamen = db.PreguntaExamen.Find(id); if (preguntaExamen == null) { return(HttpNotFound()); } ViewBag.ExamenID = new SelectList(db.Examen, "ID", "Nombre", preguntaExamen.ExamenID); ViewBag.PreguntaID = new SelectList(db.Preguntas, "ID", "Nombre", preguntaExamen.PreguntaID); return(View(preguntaExamen)); }
public void CopyFrom(PreguntaExamen source) { _base.CopyValues(source); }
public static EstadisticaExamenList GetList(Examen examen) { EstadisticaExamenList list = new EstadisticaExamenList(); int total_alumnos = 0; Hashtable cont_fallos = new Hashtable(); foreach (PreguntaExamen preg in examen.PreguntaExamens) { EstadisticaExamen item = new EstadisticaExamen(); item.Oid = preg.Oid; item.NumeroPregunta = preg.Orden; item.TotalFallos = 0; item.PorcentajeFallos = 0; item.Anulada = preg.Anulada; item.NumeroPreguntaBanco = preg.NPregunta; item.Nivel = preg.Nivel; item.Tema = preg.Tema; cont_fallos.Add(preg.Orden, item); } foreach (Alumno_Examen alumno in examen.Alumnos) { if (alumno.Presentado) { total_alumnos++; foreach (Respuesta_Alumno_Examen resp in alumno.Respuestas) { PreguntaExamen preg = examen.PreguntaExamens.GetItem(resp.OidPreguntaExamen); if (!preg.Anulada) { if (!resp.Correcta) { ((EstadisticaExamen)cont_fallos[resp.Orden]).TotalFallos++; } } } } } list.IsReadOnly = false; foreach (PreguntaExamen preg in examen.PreguntaExamens) { EstadisticaExamen item = (EstadisticaExamen)cont_fallos[preg.Orden]; if (!preg.Anulada) { item.PorcentajeFallos = total_alumnos != 0 ? Decimal.Round((decimal)item.TotalFallos / total_alumnos, 2) * 100 : 0; } list.Add(item.GetInfo()); } list.IsReadOnly = true; return(list); }
public static string SELECT() { return(PreguntaExamen.SELECT(new QueryConditions(), false)); }
public RespuestaExamen NewItem(PreguntaExamen parent) { this.AddItem(RespuestaExamen.NewChild(parent)); return(this[Count - 1]); }
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(); }