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 PreguntasTestRpt GetDetailPreguntasTestReport(PreguntaExamens lista_preguntas, Preguntas preguntas) { if (lista_preguntas == null) { return(null); } PreguntasTestRpt doc = new PreguntasTestRpt(); List <PreguntaExamenInfo> preguntas_examen = new List <PreguntaExamenInfo>(); List <RespuestaExamenPrint> respuestas = new List <RespuestaExamenPrint>(); foreach (PreguntaExamen item in lista_preguntas) { bool imagen = true; PreguntaExamenInfo info = item.GetInfo(true); preguntas_examen.Add(info.GetPrintObject(preguntas)); foreach (RespuestaExamenInfo r_info in info.RespuestaExamenes) { respuestas.Add(r_info.GetPrintObject(info, preguntas, null, imagen)); imagen = false; //será verdadero sólo en la primera iteración, para que cargue la imagen sólo una vez } } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (preguntas_examen.Count <= 0) { return(null); } doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(respuestas); return(doc); }
public PreguntasDesarrolloRpt GetDetailPreguntasDesarrolloReport(PreguntaExamens lista_preguntas, Preguntas preguntas) { if (lista_preguntas == null) { return(null); } PreguntasDesarrolloRpt doc = new PreguntasDesarrolloRpt(); List <PreguntaExamenInfo> preguntas_examen = new List <PreguntaExamenInfo>(); foreach (PreguntaExamen item in lista_preguntas) { PreguntaExamenInfo info = item.GetInfo(true); preguntas_examen.Add(info.GetPrintObject(preguntas)); } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (preguntas_examen.Count <= 0) { return(null); } // doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(preguntas); return(doc); }
//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); } }
public static string SELECT_BY_EXAMEN(long oid_examen) { return(PreguntaExamens.SELECT_BY_EXAMEN(oid_examen, false)); }