//metodo que se invoca al agregar documentos public void GrabarEstudioActa(Acta acta, string idEstudio) { ServicioParametricas servParametricas = new ServicioParametricas(); ServicioEstudios servEstudios = new ServicioEstudios(); ActaEstudio actaEstudio = null; Estudio estudio = null; if (acta.Estudios.Count > 0) { actaEstudio = acta.ObtenerEstudio(idEstudio.ConvertirInt()); } if (actaEstudio == null) { estudio = servEstudios.Obtener(idEstudio); actaEstudio = new ActaEstudio(); actaEstudio.Estudio = estudio; actaEstudio.EstadoEstudio = estudio.Estado; actaEstudio.OrdenEstudio = acta.ObtenerOrdenEstudio(estudio.Id); acta.AgregarEstudio(actaEstudio); } }
public void GrabarDocumento(Acta acta, string idActaDocumento, string idDocumento, string idDocumentoVersion, string comentario, string idResponsableComite, string imprimirCarta, Usuario usuarioLogin) { ServicioDocumentos servDocumento = new ServicioDocumentos(); ServicioEquipos servEquipo = new ServicioEquipos(); ActaDocumento actaDocumento = null; int _idDocumentoVersion = idDocumentoVersion.ConvertirInt(); if (_idDocumentoVersion == -1) { throw new ApplicationException("Debe seleccionar documento y versión a comentar"); } int _idActaDocumento = idActaDocumento.ConvertirInt(); if (_idActaDocumento == -1) { actaDocumento = new ActaDocumento(); } else { actaDocumento = acta.ObtenerDocumento(_idActaDocumento); } DocumentoVersion docVersion = servDocumento.Obtener(idDocumento) .ObtenerVersion(_idDocumentoVersion); actaDocumento.DocumentoVersion = docVersion; actaDocumento.Descripcion = comentario; actaDocumento.ResponsableComite = servEquipo.ProfesionalObtener(idResponsableComite.ConvertirInt()); actaDocumento.OrdenEstudio = acta.ObtenerOrdenEstudio(docVersion.Documento.Estudio.Id); actaDocumento.OrdenDocumento = acta.ObtenerOrdenUltimoDocumentoDelEstudio(docVersion.Documento.Estudio.Id); actaDocumento.ImprimirCarta = imprimirCarta.ConvertirBool(); if (_idActaDocumento == -1) { ServicioParametricas servParametricas = new ServicioParametricas(); Parametro parmsEstado = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_EN_EVALUACION"); string _idEstado = (parmsEstado != null) ? parmsEstado.Valor : null; EstadoDocumento estado = servParametricas.EstadoDocumentoObtener(_idEstado.ConvertirInt()); servDocumento.GrabarDocumentoVersionEstado(docVersion, estado, false, usuarioLogin); } actaDocumento.Validar(); if (_idActaDocumento == -1) { /*Si el estudio al cual pertenece el documento no existe en el acta, * se crea automaticamente notas al pie y al continuacion de los documentos tratados*/ if (!acta.EstudioTieneNotas(docVersion.Documento.IdEstudio)) { string descripcionNota = string.Format("{0} - ESTUDIO {1}", acta.Descripcion, docVersion.Documento.NombreEstudio); this.GrabarNuevaNota(acta.Id.ToString(), "0", "-1", docVersion.Documento.Estudio.Id.ToString(), string.Format("{0} - INICIO", descripcionNota), DateTime.Now.ToString(), null, string.Empty); this.GrabarNuevaNota(acta.Id.ToString(), "1", "-1", docVersion.Documento.Estudio.Id.ToString(), string.Format("{0} - FINAL", descripcionNota), DateTime.Now.ToString(), null, string.Empty); } acta.AgregarDocumento(actaDocumento); } }
//metodo que se invoca cuando setea estados, modelo carta de respuesta, texto desde el acta public void GrabarDatosEstudio(string idActa, string datosActaEstudio) { ServicioParametricas servParametricas = new ServicioParametricas(); ServicioEstudios servEstudios = new ServicioEstudios(); Acta acta = this.Obtener(idActa); ActaEstudio actaEstudio = null; dynamic datosAux = ServiciosHelpers.DeserializarGenerico(datosActaEstudio); int idEstudio = datosAux.IdEstudio; actaEstudio = acta.ObtenerEstudio(idEstudio); if (actaEstudio == null) { actaEstudio = new ActaEstudio(); actaEstudio.Estudio = servEstudios.Obtener(idEstudio.ToString()); actaEstudio.OrdenEstudio = acta.ObtenerOrdenEstudio(idEstudio); } actaEstudio.EstadoEstudio = servParametricas.EstadoEstudioObtener(datosAux.IdEstadoEstudio); actaEstudio.CartaRespuestaModelo = this.CartaRespuestaModeloObtener(datosAux.IdCartaRespuestaModelo); actaEstudio.TextoLibreCartaRespuesta = datosAux.TextoLibreCartaRespuesta; acta.AgregarEstudio(actaEstudio); this.Grabar(acta); /*actualizamos las notas del estudio*/ RepositoryGenerico <Nota> notaRepository = new RepositoryGenerico <Nota>(); Nota nota = null; int idNotaAntesDocumentos = acta.Notas.ToList <Nota>().Find(item => item.IdEstudio == idEstudio && !item.ActaImprimeAlFinal).Id; nota = notaRepository.Obtener(idNotaAntesDocumentos); nota.Texto = string.Format("{0}", datosAux.ComentarioAntesDocumentos); notaRepository.Actualizar(nota); nota = null; int idNotaDespuesDocumentos = acta.Notas.ToList <Nota>().Find(item => item.IdEstudio == idEstudio && item.ActaImprimeAlFinal).Id; nota = notaRepository.Obtener(idNotaDespuesDocumentos); nota.Texto = string.Format("{0}", datosAux.ComentarioDespuesDocumentos); notaRepository.Actualizar(nota); if (!acta.Cerrada && actaEstudio.EstadoEstudio != null) { servEstudios.GrabarEstado(actaEstudio.Estudio.Id.ToString(), actaEstudio.EstadoEstudio.Id.ToString()); } }