Exemple #1
0
        //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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        //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());
            }
        }