Beispiel #1
0
        public void GrabarDocumentoComentarioEstado(string idActaDocumento, string comentario, string idEstadoDocumento, string actualizarEstadoFinal, string imprimirCarta, string setearSaltoLinea, Usuario usuarioLogin)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            ServicioDocumentos   servDocumento    = new ServicioDocumentos();

            int _idActaDocumento = idActaDocumento.ConvertirInt();

            if (_idActaDocumento == -1)
            {
                return;
            }

            RepositoryGenerico <ActaDocumento> repository = new RepositoryGenerico <ActaDocumento>();
            ActaDocumento actaDocumento = repository.Obtener(_idActaDocumento);


            actaDocumento.Descripcion       = comentario;
            actaDocumento.ImprimirCarta     = imprimirCarta.ConvertirBool();
            actaDocumento.SetearSaltosLinea = setearSaltoLinea.ConvertirBoolNulleable();

            EstadoDocumento  estado     = servParametricas.EstadoDocumentoObtener(idEstadoDocumento.ConvertirInt());
            DocumentoVersion docVersion = actaDocumento.DocumentoVersion;

            servDocumento.GrabarDocumentoVersionEstado(docVersion, estado, actualizarEstadoFinal.ConvertirBool(), usuarioLogin);

            repository.Actualizar(actaDocumento);
        }
Beispiel #2
0
        public DocumentoVersionEstado CrearDocumentoVersionEstado(TipoDocumento tipoDocumento, string idEstado, string fechaEstado, Usuario usuarioLogin)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            DocumentoVersionEstado versionEstado = new DocumentoVersionEstado();

            versionEstado.Fecha = fechaEstado.ConvertirDateTime();

            EstadoDocumento estadoActual = servParametricas.EstadoDocumentoObtener(idEstado.ConvertirInt());

            versionEstado.Estado = estadoActual;

            versionEstado.Usuario                = usuarioLogin;
            versionEstado.ProfesionalAutor       = null;
            versionEstado.ProfesionalPresenta    = null;
            versionEstado.ProfesionalResponsable = null;
            versionEstado.Observaciones          = string.Empty;

            TipoDocumentoFlujoEstado flujoEstado = tipoDocumento.ObtenerFlujoDefault().ObtenerFlujoEstado(estadoActual);

            if (flujoEstado != null)
            {
                versionEstado.EstadoFinal = flujoEstado.Final;
            }
            else
            {
                versionEstado.EstadoFinal = false;
            }

            versionEstado.Validar();

            return(versionEstado);
        }
Beispiel #3
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);
            }
        }
Beispiel #4
0
        public void ProcesarEstudiosFinalizados(Usuario usuarioLogin)
        {
            ServicioDocumentos   servDocs   = new ServicioDocumentos();
            ServicioParametricas servParams = new ServicioParametricas();

            List <EstudioDTO> estudios    = this.repository.ListarEstudiosDTO(4).ToList <EstudioDTO>().ToList <EstudioDTO>();
            List <Documento>  docsEstudio = new List <Documento>();

            estudios.ForEach(delegate(EstudioDTO dto)
            {
                docsEstudio = this.ObtenerDocumentos(dto.Id.ToString());

                docsEstudio.ForEach(delegate(Documento doc)
                {
                    try
                    {
                        if (doc.TipoDocumento.Vigente)
                        {
                            doc.Versiones.ToList <DocumentoVersion>().ForEach(delegate(DocumentoVersion dv)
                            {
                                EstadoDocumento proximoEstado    = null;
                                DocumentoVersionEstado estadoDoc = dv.ObtenerVersionEstado();
                                if (!estadoDoc.EstadoFinal.Value)
                                {
                                    /*
                                     * IdEstado	Descripcion
                                     *  1	    INGRESADO
                                     *  2	    EN EVALUACION
                                     *  3	    APROBADO
                                     *  4	    PEDIDO DE CAMBIOS
                                     *  5	    TOMA CONOCIMIENTO
                                     */
                                    switch (estadoDoc.Estado.Id)
                                    {
                                    case 1:                                                                            //
                                        proximoEstado = servParams.EstadoDocumentoObtener(2);
                                        servDocs.GrabarDocumentoVersionEstado(dv, proximoEstado, false, usuarioLogin); //grabamos en evaluacion
                                        servDocs.Grabar(doc);
                                        servDocs.GrabarDocumentoVersionEstado(dv, null, true, usuarioLogin);           //grabamos estado final
                                        servDocs.Grabar(doc);
                                        break;

                                    case 2:                                                                  //
                                        servDocs.GrabarDocumentoVersionEstado(dv, null, true, usuarioLogin); //grabamos estado final
                                        servDocs.Grabar(doc);
                                        break;
                                    }
                                }
                            });
                        }
                    }
                    catch
                    {
                        //servDocs.Sincronizar();
                    }
                });
            });
        }
Beispiel #5
0
        public void GrabarDocumentoVersionEstado(string idEstudio, string idDocumento, string idVersion, string idVersionEstado, string idEstado, string fecha, string idProfesionalAutor, string idProfesionalPresenta, string idProfesionalResponsable, Usuario usuarioLogin)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            ServicioEquipos      servEquipo       = new ServicioEquipos();

            Documento        documento = this.Obtener(idDocumento);
            DocumentoVersion version   = documento.ObtenerVersion(idVersion.ConvertirInt());

            DocumentoVersionEstado versionEstadoActual = version.ObtenerVersionEstado();

            if (versionEstadoActual != null && versionEstadoActual.Estado != null)
            {
                //para no duplicar el estado, si ya lo tiene no hce nada
                if (versionEstadoActual.Estado.Id == idEstado.ConvertirInt())
                {
                    return;
                }
                //si ya tiene un estado final se quita primero, para que quede un solo estado final
                if (versionEstadoActual.EstadoFinal.HasValue && versionEstadoActual.EstadoFinal.Value)
                {
                    version.EliminarVersionEstado(versionEstadoActual.Id);
                }
            }

            DocumentoVersionEstado versionEstado = null;

            int _idVersionEstado = idVersionEstado.ConvertirInt();

            if (_idVersionEstado == -1)
            {
                versionEstado = new DocumentoVersionEstado();
            }
            else
            {
                versionEstado = version.ObtenerVersionEstado(_idVersionEstado);
            }

            versionEstado.Fecha = string.IsNullOrEmpty(fecha) ? DateTime.MinValue : DateTime.Parse(fecha);

            EstadoDocumento nuevoEstado = null;

            nuevoEstado          = servParametricas.EstadoDocumentoObtener(idEstado.ConvertirInt());
            versionEstado.Estado = nuevoEstado;

            versionEstado.Usuario                = usuarioLogin;
            versionEstado.ProfesionalAutor       = servEquipo.ProfesionalObtener(idProfesionalAutor.ConvertirInt());
            versionEstado.ProfesionalPresenta    = servEquipo.ProfesionalObtener(idProfesionalPresenta.ConvertirInt());
            versionEstado.ProfesionalResponsable = servEquipo.ProfesionalObtener(idProfesionalResponsable.ConvertirInt());
            versionEstado.Observaciones          = string.Empty;

            TipoDocumentoFlujoEstado flujoEstado = documento.TipoDocumento.ObtenerFlujoDefault().ObtenerFlujoEstado(nuevoEstado);

            if (flujoEstado != null)
            {
                versionEstado.EstadoFinal = flujoEstado.Final;
            }
            else
            {
                versionEstado.EstadoFinal = false;
            }

            versionEstado.Validar();

            if (_idVersionEstado == -1)
            {
                version.AgregarVersionEstado(versionEstado);
            }

            this.Grabar(documento);
        }