/// <summary> /// Copia los atributos del objeto /// </summary> /// <param name="source">Objeto origen</param> protected void CopyValues(PreguntaExamenInfo source, Preguntas 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.ModeloRespuesta = source.ModeloRespuesta; _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) { Pregunta 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; } } } } } }
/// <summary> /// Retrieve the complete list from db /// </summary> /// <returns>PreguntaList</returns> public static PreguntaList GetList(bool childs) { CriteriaEx criteria = Pregunta.GetCriteria(Pregunta.OpenSession()); criteria.Childs = childs; criteria.Query = Preguntas.SELECT_PREGUNTAS(); //No criteria. Retrieve all de List PreguntaList list = DataPortal.Fetch <PreguntaList>(criteria); CloseSession(criteria.SessionCode); return(list); }
public static PreguntaList GetPreguntasByList(string lista_preguntas) { CriteriaEx criteria = Pregunta.GetCriteria(Pregunta.OpenSession()); PreguntaList lista = new PreguntaList(); if (lista_preguntas == string.Empty) { lista_preguntas = "-1"; } Pregunta.BeginTransaction(criteria.SessionCode); criteria.Query = Preguntas.SELECT_BY_LIST(lista_preguntas); criteria.Childs = true; //No criteria. Retrieve all de List PreguntaList aux = DataPortal.Fetch <PreguntaList>(criteria); CloseSession(criteria.SessionCode); string[] orden = lista_preguntas.Split(','); lista.IsReadOnly = false; foreach (string item in orden) { try { long oid = Convert.ToInt32(item); PreguntaInfo pregunta = aux.GetItem(oid); lista.AddItem(pregunta); } catch { continue; } } lista.IsReadOnly = true; return(lista); }
public static PreguntaList GetPreguntasModulo(long oid_modulo, string memo_preguntas) { if (memo_preguntas == string.Empty) { return(GetPreguntasModulo(oid_modulo)); } CriteriaEx criteria = Pregunta.GetCriteria(Pregunta.OpenSession()); string lista_preguntas = string.Empty; if (memo_preguntas != string.Empty) { memo_preguntas = memo_preguntas.Substring(0, memo_preguntas.Length - 1); } lista_preguntas = memo_preguntas.Replace(';', ','); Pregunta.BeginTransaction(criteria.SessionCode); criteria.Query = Preguntas.SELECT_BY_MODULO_LIST(oid_modulo, lista_preguntas); criteria.Childs = false; CloseSession(criteria.SessionCode); //No criteria. Retrieve all de List return(DataPortal.Fetch <PreguntaList>(criteria)); }
public static void CompletaDuplicado(long oid_tema_original, long oid_tema_copia) { int sesion = nHManager.Instance.OpenSession(); Tema.DoLOCK(nHManager.Instance.GetSession(sesion)); string query = INSERT_PREGUNTAS_DUPLICADAS(oid_tema_original, oid_tema_copia); nHManager.Instance.SQLNativeExecute(query, nHManager.Instance.GetSession(sesion)); Tema.DoLOCK(nHManager.Instance.GetSession(sesion)); query = UPDATE_OBSERVACIONES_DUPLICADAS(oid_tema_original, oid_tema_copia); nHManager.Instance.SQLNativeExecute(query, nHManager.Instance.GetSession(sesion)); CloseSession(sesion); Preguntas lista_duplicadas = Preguntas.GetPreguntasDuplicadasTema(oid_tema_copia); Preguntas lista_originales = Preguntas.GetPreguntasTema(oid_tema_original, true); long serial = Pregunta.GetNewSerial(); long serial_r = Respuesta.GetNewSerial(null); foreach (Pregunta item in lista_duplicadas) { Pregunta original = lista_originales.GetItem(item.OidOld); item.Serial = serial++; item.Codigo = item.Serial.ToString(Resources.Defaults.PREGUNTA_CODE_FORMAT); foreach (Respuesta r in original.Respuestas) { Respuesta new_r = Respuesta.NewChild(item); new_r = r.Clone(); new_r.Serial = serial_r++; new_r.Codigo = serial_r.ToString(Resources.Defaults.RESPUESTA_CODE_FORMAT); item.Respuestas.Add(new_r); } if (original.Imagen != string.Empty) { string ext = string.Empty; if (!File.Exists(moleQule.Library.Instruction.ModuleController.FOTOS_PREGUNTAS_PATH + original.Imagen)) { continue; } Bitmap imagen = new Bitmap(Library.Instruction.ModuleController.FOTOS_PREGUNTAS_PATH + original.Imagen); if (imagen.RawFormat.Guid.Equals(System.Drawing.Imaging.ImageFormat.Jpeg.Guid)) { ext = ".jpg"; } else { if (imagen.RawFormat.Guid.Equals(System.Drawing.Imaging.ImageFormat.Bmp.Guid)) { ext = ".bmp"; } else { if (imagen.RawFormat.Guid.Equals(System.Drawing.Imaging.ImageFormat.Png.Guid)) { ext = ".png"; } } } item.Imagen = item.Oid.ToString("000000") + ext; int maxHeight = imagen.Height > imagen.Width ? imagen.Height : imagen.Width; Images.Save(original.ImagenWithPath, item.ImagenWithPath, maxHeight); imagen.Dispose(); } else { item.Imagen = string.Empty; } } lista_duplicadas.Save(); lista_duplicadas.CloseSession(); }
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); }
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 PreguntaExamenPrint GetPrintObject(Preguntas preguntas) { return(PreguntaExamenPrint.New(this, preguntas)); }
public RespuestaExamenPrint GetPrintObject(PreguntaExamenInfo pregunta, Preguntas preguntas, ExamenInfo examen, bool imagen) { return(RespuestaExamenPrint.New(this, pregunta, preguntas, examen, imagen)); }
//public System.Byte[] ImagenPregunta { get { return _imagen_pregunta; } } /// <summary> /// Copia los atributos del objeto /// </summary> /// <param name="source">Objeto origen</param> protected void CopyValues(RespuestaExamenInfo source, PreguntaExamenInfo pregunta, Preguntas 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; _imagen_grande = pregunta.ImagenGrande; 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) { Pregunta 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; } } } } } }