/// <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; } } } } } }
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 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; } } } } } }