Пример #1
0
        public ActaEstudioDTO DameActaEstudioDTO(Estudio estudio, ActaDocumento actaDocumento)
        {
            ActaEstudioDTO dto = this.DameActaEstudioDTO(estudio);

            dto.OrdenEstudio = actaDocumento.OrdenEstudio;
            return(dto);
        }
Пример #2
0
        public static DocumentoTratado ObtenerDocumentoTratado(ActaDocumento actaDocumento, bool quitarTagP)
        {
            try
            {
                DocumentoTratado documentoTratado = new DocumentoTratado();

                //agregar property ORDEN

                documentoTratado.Documento         = actaDocumento.DocumentoVersion.Documento.Descripcion;
                documentoTratado.Version           = actaDocumento.DocumentoVersion.Descripcion;
                documentoTratado.FechaVersion      = actaDocumento.DocumentoVersion.FechaToString;
                documentoTratado.ResponsableComite = (actaDocumento.ResponsableComite == null) ? string.Empty : actaDocumento.ResponsableComite.NombreCompleto;

                if (!actaDocumento.SetearSaltosLinea.HasValue || !actaDocumento.SetearSaltosLinea.Value)
                {
                    documentoTratado.Comentario = actaDocumento.ComentarioDocumento.Replace("\n", Constantes.SaldoLinea);
                }
                else
                {
                    documentoTratado.Comentario = actaDocumento.ComentarioDocumento;
                }

                return(documentoTratado);
            }
            catch (Exception ex)
            {
                Logger.LogError("ObtenerDocumentoTratado", ex);
                throw;
            }
        }
Пример #3
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);
        }
Пример #4
0
        public List <ActaDocumento> ListarDocumentoTratadosXEstudio(string idEstudio)
        {
            List <ActaDocumento> docsTratados = new List <ActaDocumento>();

            if (idEstudio.ConvertirInt() != -1)
            {
                docsTratados = repository.ObtenerDocumentoTratadosXEstudio(idEstudio.ConvertirInt()).ToList <ActaDocumento>();
            }

            List <ActaDocumento> docsTratadosReturn = new List <ActaDocumento>();

            docsTratados.ForEach(delegate(ActaDocumento actaDoc)
            {
                ActaDocumento actaDocReturn = docsTratadosReturn.Find(delegate(ActaDocumento ad)
                {
                    return(ad.DocumentoVersion.Documento.Equals(actaDoc.DocumentoVersion.Documento));
                });

                if (actaDocReturn != null)
                {
                    docsTratadosReturn.Remove(actaDocReturn);
                }

                docsTratadosReturn.Add(actaDoc);
            });

            return(docsTratadosReturn);
        }
Пример #5
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);
            }
        }
Пример #6
0
        public void EliminarDocumento(string idActa, string idActaDocumento)
        {
            int _idActaDocumento = idActaDocumento.ConvertirInt();

            if (_idActaDocumento == -1)
            {
                throw new ApplicationException("No seleccionó documento que desea eliminar");
            }

            Acta          acta          = this.Obtener(idActa);
            ActaDocumento actaDocumento = acta.ObtenerDocumento(_idActaDocumento);
            int           idEstudio     = actaDocumento.IdEstudio;

            //verifico si el ultimo estado es EN EVALUACION, se elimina
            ServicioParametricas servParametricas = new ServicioParametricas();
            Parametro            parmsEstado      = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_EN_EVALUACION");
            string idEstado = (parmsEstado != null) ? parmsEstado.Valor : null;

            DocumentoVersion docVersion = actaDocumento.DocumentoVersion;

            if (docVersion.ObtenerVersionEstado().Id.Equals(idEstado.ConvertirInt()))
            {
                ServicioDocumentos servDocumentos = new ServicioDocumentos();
                //Refactorizar para no tener que enviarle todos los parametros cada vez que se invoque, enviar solo docVersion
                servDocumentos.EliminarDocumentoVersionEstado(docVersion.Documento.IdEstudio.ToString(), docVersion.Documento.Id.ToString(), docVersion.Id.ToString(), docVersion.ObtenerVersionEstado().Id.ToString(), idEstado);
            }

            acta.EliminarDocumento(actaDocumento);


            //Si el estudio quedo sin documentos y sin notas, se debe eliminar el estudio del acta ActaEstudios y Notas por IdEstudio

            bool estudioConDocumentos = acta.Documentos.ToList <ActaDocumento>()
                                        .FindAll(item => item.IdEstudio == idEstudio).Count > 0;

            bool estudioConNotas = acta.Notas.ToList <Nota>()
                                   .FindAll(item => item.IdEstudio == idEstudio && item.Texto.Trim().Length > 0)
                                   .Count > 0;

            if (!estudioConDocumentos && !estudioConNotas)
            {
                acta.EliminarEstudio(idEstudio);
                acta.Notas.ToList <Nota>()
                .FindAll(item => item.IdEstudio == idEstudio)
                .ForEach(delegate(Nota nota)
                {
                    acta.EliminarNota(nota);
                });
            }
            this.Grabar(acta);
        }
Пример #7
0
        public void GrabarOrdenDocumentos(string idActa, string documentos, string estudios)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            Acta acta = this.Obtener(idActa);

            ServiciosHelpers.ValidarClave(acta);

            //actualizo orden de los documentos
            List <ActaOrdenDocumentosJsonDTO> actaDocumentosDTO = serializer.Deserialize <List <ActaOrdenDocumentosJsonDTO> >(documentos);

            actaDocumentosDTO.ForEach(delegate(ActaOrdenDocumentosJsonDTO docDTO)
            {
                ActaDocumento actaDocumento = acta.Documentos.ToList <ActaDocumento>().Find(delegate(ActaDocumento actaDoc) { return(actaDoc.Id == docDTO.IdActaDocumento); });
                if (actaDocumento != null)
                {
                    actaDocumento.OrdenDocumento = docDTO.OrdenDocumento;
                }
            });

            //actualizo orden de los estudios
            actaDocumentosDTO = serializer.Deserialize <List <ActaOrdenDocumentosJsonDTO> >(estudios);
            actaDocumentosDTO.ForEach(delegate(ActaOrdenDocumentosJsonDTO docDTO)
            {
                List <ActaDocumento> actaDocumentos = acta.Documentos.ToList <ActaDocumento>().FindAll(delegate(ActaDocumento actaDoc) { return(actaDoc.IdEstudio == docDTO.IdEstudio); });
                if (actaDocumentos != null)
                {
                    actaDocumentos.ForEach(delegate(ActaDocumento actaDoc)
                    {
                        actaDoc.OrdenEstudio = docDTO.OrdenEstudio;
                    });
                }
            });

            this.Grabar(acta);
        }
Пример #8
0
 public void GrabarActaDocumento(ActaDocumento actaDocumento)
 {
 }