public bool DuplicateList(long oid) { ExamenInfo old = ExamenInfo.Get(oid, true); bool no_disponibles = false; if (old.Emitido) { MemoPreguntas = string.Empty; PreguntaList preguntas = PreguntaList.GetPreguntasModulo(_base.Record.OidModulo); foreach (PreguntaExamenInfo pe in old.PreguntaExamenes) { PreguntaInfo pregunta = preguntas.GetItem(pe.OidPregunta); if (pregunta.FechaDisponibilidad.Date <= _base.Record.FechaExamen) { MemoPreguntas += pe.OidPregunta.ToString() + ";"; } else { no_disponibles = true; } } } return(no_disponibles); }
public PreguntasListRpt GetPreguntasListReport(PreguntaList preguntas) { if (preguntas == null) { return(null); } PreguntasListRpt doc = new PreguntasListRpt(); List <PreguntaPrint> pList = new List <PreguntaPrint>(); foreach (PreguntaInfo item in preguntas) { pList.Add(item.GetPrintObject(1)); } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (pList.Count <= 0) { return(null); } doc.SetDataSource(pList); // doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(preguntas); return(doc); }
protected void CopyValues(RespuestaExamenInfo source, PreguntaExamenInfo pregunta, PreguntaList preguntas, ExamenInfo examen, bool imagen) { if (source == null) { return; } Oid = source.Oid; _base.Record.OidPregunta = source.OidPregunta; _base.Record.Texto = source.Texto; _base.Record.Opcion = source.Opcion; _base.Record.Correcta = source.Correcta; if (pregunta == null) { return; } _pregunta = pregunta.Texto; _orden = pregunta.Orden; _imagen = pregunta.Imagen; if (imagen) { if (pregunta.Imagen != string.Empty) { if (File.Exists(pregunta.ImagenWithPath)) { _imagen = Resize(pregunta.ImagenWithPath, pregunta.Imagen); } else { _imagen = string.Empty; } } else { if (preguntas != null) { PreguntaInfo p = preguntas.GetItem(pregunta.OidPregunta); if (p != null && p.Imagen != string.Empty) { if (File.Exists(p.ImagenWithPath)) { _imagen = Resize(p.ImagenWithPath, p.Imagen); } else { _imagen = string.Empty; } } } } } }
/// <summary> /// Copia los atributos del objeto /// </summary> /// <param name="source">Objeto origen</param> protected void CopyValues(PreguntaExamenInfo source, PreguntaList preguntas) { if (source == null) { return; } Oid = source.Oid; _base.Record.OidExamen = source.OidExamen; _base.Record.OidModulo = source.OidModulo; _base.Record.OidTema = source.OidTema; _base.Record.Nivel = source.Nivel; _base.Record.FechaAlta = source.FechaAlta; _base.Record.Texto = source.Texto; _base.Record.Tipo = source.Tipo; _base.Record.Imagen = source.Imagen; _base.Record.Idioma = source.Idioma; _base.Record.Observaciones = source.Observaciones; _base.Record.ImagenGrande = source.ImagenGrande; _base.Record.Orden = source.Orden; _base.Record.OidPregunta = source.OidPregunta; if (_base.Record.Tipo == "Desarrollo") //si la pregunta es de tipo test, las imágenes se cargan en las respuestas { if (source.Imagen != string.Empty) { if (File.Exists(source.ImagenWithPath)) { _base.Record.Imagen = Resize(source.ImagenWithPath, source.Imagen); } else { _base.Record.Imagen = string.Empty; } } else { if (preguntas != null) { PreguntaInfo p = preguntas.GetItem(source.OidPregunta); if (p != null && p.Imagen != string.Empty) { if (File.Exists(p.ImagenWithPath)) { _base.Record.Imagen = Resize(p.ImagenWithPath, p.Imagen); } else { _base.Record.Imagen = string.Empty; } } } } } }
public static Preguntas GetPreguntasDuplicadasTema(long oid_tema) { CriteriaEx criteria = Pregunta.GetCriteria(Pregunta.OpenSession()); criteria.Query = PreguntaList.SELECT_BY_TEMA_DUPLICADAS(oid_tema); criteria.Childs = false; Pregunta.BeginTransaction(criteria.SessionCode); return(DataPortal.Fetch <Preguntas>(criteria)); }
/// <summary> /// Construye la tabla /// </summary> /// <param name="type"></param> /// <param name="schema"></param> /// <param name="sesion"></param> /// <returns></returns> public static string SELECT_PREGUNTAS_FILTRADAS(long oid_modulo, long oid_tema, long nivel, string tipo, string idioma, DateTime fecha_alta, DateTime fecha_disponibilidad, bool revisada, bool activa, string texto, bool filtros, bool reservada, long numero) { string query = PreguntaList.SELECT_PREGUNTAS_FILTRADAS(oid_modulo, oid_tema, nivel, tipo, idioma, fecha_alta, fecha_disponibilidad, revisada, activa, texto, filtros, reservada, numero); return(query); // +" FOR UPDATE OF P NOWAIT;"; }
//public ExamenTestRpt GetDetailTestReport( ExamenInfo item, // CompanyInfo empresa, // Preguntas lista_preguntas) //{ // if (item == null) return null; // ExamenTestRpt doc = new ExamenTestRpt(); // List<ExamenPrint> pList = new List<ExamenPrint>(); // List<PreguntaExamenInfo> preguntas = new List<PreguntaExamenInfo>(); // List<RespuestaExamenPrint> respuestas = new List<RespuestaExamenPrint>(); // foreach (PreguntaExamenInfo info in item.PreguntaExamenes) // { // bool imagen = true; // preguntas.Add(info.GetPrintObject(lista_preguntas)); // foreach (RespuestaExamenInfo r_info in info.RespuestaExamenes) // { // respuestas.Add(r_info.GetPrintObject(info, lista_preguntas, item, imagen)); // imagen = false; //será verdadero sólo en la primera iteración, para que sólo cargue la imagen una vez // } // } // //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports // if (preguntas.Count <= 0) // return null; // pList.Add(item.GetPrintObject(empresa, string.Empty)); // doc.SetDataSource(pList); // doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(respuestas); // doc.SetParameterValue("Empresa", empresa.Name); // //FormatReport(doc, preguntas); // return doc; //} public ExamenTestRpt GetDetailTestReport(ExamenInfo item, CompanyInfo empresa, PreguntaList lista_preguntas) { if (item == null) { return(null); } ExamenTestRpt doc = new ExamenTestRpt(); List <ExamenPrint> pList = new List <ExamenPrint>(); List <PreguntaExamenInfo> preguntas = new List <PreguntaExamenInfo>(); List <RespuestaExamenPrint> respuestas = new List <RespuestaExamenPrint>(); foreach (PreguntaExamenInfo info in item.PreguntaExamenes) { bool imagen = true; preguntas.Add(PreguntaExamenPrint.New(info, lista_preguntas)); foreach (RespuestaExamenInfo r_info in info.RespuestaExamenes) { respuestas.Add(RespuestaExamenPrint.New(r_info, info, lista_preguntas, item, imagen)); imagen = false; //será verdadero sólo en la primera iteración, para que sólo cargue la imagen una vez } } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (preguntas.Count <= 0) { return(null); } pList.Add(item.GetPrintObject(empresa, string.Empty)); doc.SetDataSource(pList); if (empresa.Oid == 2) { ((CrystalDecisions.CrystalReports.Engine.FieldObject)(doc.Section5.ReportObjects["Empresa1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46); } doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(respuestas); doc.SetParameterValue("Empresa", empresa.Name); //FormatReport(doc, preguntas); return(doc); }
public ResumenExamenRpt GetDetailResumenExamenReport(ExamenInfo item, PreguntaList preguntas, PromocionInfo promocion, CompanyInfo empresa) { if (item == null) { return(null); } ResumenExamenRpt doc = new ResumenExamenRpt(); List <ExamenPrint> pList = new List <ExamenPrint>(); List <PreguntaPrint> _preguntas = new List <PreguntaPrint>(); if (promocion == null) { pList.Add(item.GetPrintObject(empresa, string.Empty)); } else { pList.Add(item.GetPrintObject(empresa, promocion.Nombre, string.Empty)); } int i = 1; foreach (PreguntaInfo info in preguntas) { _preguntas.Add(info.GetPrintObject(i++)); } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (_preguntas.Count <= 0) { return(null); } doc.SetDataSource(pList); doc.Subreports["ListadoPreguntasExamenListSubRpt"].SetDataSource(_preguntas); return(doc); }
/// <summary> /// Construye la tabla /// </summary> /// <param name="type"></param> /// <param name="schema"></param> /// <param name="sesion"></param> /// <returns></returns> public static string SELECT_BY_LIST(string lista_preguntas) { string query = PreguntaList.SELECT_BY_LIST(lista_preguntas); return(query); // +" FOR UPDATE OF P NOWAIT"; }
public static string SELECT_BY_MODULO_LIST(long oid, string lista_preguntas) { string query = PreguntaList.SELECT_BY_MODULO_LIST(oid, lista_preguntas); return(query); // +" FOR UPDATE OF P NOWAIT;"; }
public static string SELECT_BY_TEMA(long oid_tema) { string query = PreguntaList.SELECT_BY_TEMA(oid_tema); return(query); // +" FOR UPDATE OF P NOWAIT;"; }
public static string SELECT_BY_MODULO(long oid_modulo) { string query = PreguntaList.SELECT_BY_MODULO(oid_modulo); return(query); // +" FOR UPDATE OF P NOWAIT;"; }
public static string SELECT_BY_FIELD(string field, long value) { string query = PreguntaList.SELECT_BY_FIELD(field, value); return(query);// +" FOR UPDATE OF P NOWAIT;"; }
/// <summary> /// Construye la tabla /// </summary> /// <param name="type"></param> /// <param name="schema"></param> /// <param name="sesion"></param> /// <returns></returns> public static string SELECT_PREGUNTAS() { string query = PreguntaList.SELECT_PREGUNTAS(); return(query); // +" FOR UPDATE OF P NOWAIT;"; }
public ExamenDesarrolloRpt GetDetailDesarrolloReport(ExamenInfo item, CompanyInfo empresa, PreguntaList lista_preguntas) { if (item == null) { return(null); } ExamenDesarrolloRpt doc = new ExamenDesarrolloRpt(); List <ExamenPrint> pList = new List <ExamenPrint>(); List <PreguntaExamenPrint> preguntas = new List <PreguntaExamenPrint>(); foreach (PreguntaExamenInfo info in item.PreguntaExamenes) { preguntas.Add(info.GetPrintObject(lista_preguntas)); } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (preguntas.Count <= 0) { return(null); } pList.Add(item.GetPrintObject(empresa, string.Empty)); doc.SetDataSource(pList); doc.SetParameterValue("Empresa", empresa.Name); if (empresa.Oid == 2) { ((CrystalDecisions.CrystalReports.Engine.TextObject)(doc.Section5.ReportObjects["Text1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46); } doc.Subreports["PreguntaExamenListSubRpt"].SetDataSource(preguntas); doc.SetParameterValue("Empresa", empresa.Name); //FormatReport(doc, empresa.Logo); return(doc); }
public PreguntaExamenPrint GetPrintObject(PreguntaList preguntas) { return(PreguntaExamenPrint.New(this, preguntas)); }