Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
        public void EnviarMail(string idRecordatorio)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Recordatorio recordatorio = this.Obtener(idRecordatorio);

            Parametro parms    = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_HOST");
            string    hostSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PUERTO");
            string puertoSMTP = (parms != null) ? parms.Valor : "0";

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_USER");
            string userSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PWD");
            string pwdSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "REMITENTE_AVISOS");
            string remitente = (parms != null) ? parms.Valor : string.Empty;

            CorreoElectronico email = new CorreoElectronico(hostSMTP, puertoSMTP.ConvertirInt(), userSMTP, pwdSMTP);

            string[] destinatarios = recordatorio.Destinatarios.Split(';');
            email.Destinatarios.AddRange(destinatarios.ToList <string>());

            email.Remitente = remitente;
            email.Asunto    = recordatorio.Asunto;
            email.Contenido = recordatorio.TextoMail;
            email.EnviarMail();
        }
Ejemplo n.º 3
0
        public void GrabarParticipantes(string idActa, string participantes)
        {
            ServicioEquipos      servEquipo       = new ServicioEquipos();
            ServicioParametricas servParametricas = new ServicioParametricas();

            Acta acta = this.Obtener(idActa);

            acta.EliminarParticipantes();
            if (participantes.Trim().Length > 0)
            {
                string[] actaParticipantes = participantes.Substring(1).Split(ServiciosHelpers.ID_SEP);

                foreach (string participante in actaParticipantes)
                {
                    string[]    infoParticipante = participante.Split(',');
                    Profesional profesional      = servEquipo.ProfesionalObtener(infoParticipante[0].ConvertirInt());
                    RolComite   rolComite        = servParametricas.ObtenerObjeto <RolComite>(infoParticipante[1].ConvertirInt());

                    this.AgregarParticipante(acta, profesional, rolComite);
                }
            }

            if (acta.ComentarioInicialFijo.Trim().Length > 0)
            {
                acta.ComentarioInicialFijo = this.ArmarComentarioInicialFijo(acta);
            }

            this.Grabar(acta);
        }
Ejemplo n.º 4
0
        public void GrabarPatrocinador(string idEstudio, string idEstiudioPatrocinador, string idPatrocinador)
        {
            ServicioParametricas servicio = new ServicioParametricas();

            Estudio             estudio             = this.Obtener(idEstudio);
            EstudioPatrocinador estudioPatrocinador = null;

            int _idEstudioPatrocinador = idEstiudioPatrocinador.ConvertirInt();

            if (_idEstudioPatrocinador == -1)
            {
                estudioPatrocinador = new EstudioPatrocinador();
            }
            else
            {
                estudioPatrocinador = estudio.ObtenerPatrocinador(_idEstudioPatrocinador);
            }

            estudioPatrocinador.Patrocinador = servicio.PatrocinadorObtener(idPatrocinador.ConvertirInt());

            estudioPatrocinador.Validar();

            if (_idEstudioPatrocinador == -1)
            {
                estudio.AgregarPatrocinador(estudioPatrocinador);
            }

            this.Grabar(estudio);
        }
Ejemplo n.º 5
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);
        }
Ejemplo n.º 6
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);
            }
        }
Ejemplo n.º 7
0
        public Estudio Obtener(string idEstudio)
        {
            Estudio estudio = this.ObtenerSoloEstudio(idEstudio);

            if (estudio != null)
            {
                estudio.Documentos = this.ObtenerDocumentos(idEstudio);
                estudio.Notas      = this.ObtenerEstudioNotas(idEstudio);
                estudio.IdRecordatorioRenovacionAnual = this.ObtenerRecodatorioRenovacionAnual(idEstudio);

                estudio.EstadoSemaforo = DeterminarSemaforoEstudio(estudio);

                if (estudio.IdTipoEstudio.HasValue)
                {
                    ServicioParametricas servParams = new ServicioParametricas();
                    estudio.TipoEstudio = servParams.TipoEstudioObtener(estudio.IdTipoEstudio.Value);
                }
                else
                {
                    estudio.TipoEstudio = null;
                }
            }

            return(estudio);
        }
Ejemplo n.º 8
0
        public void GrabarMonodroga(string idEstudio, string idEstiudioMonodroga, string idMonodroga)
        {
            ServicioParametricas servicio      = new ServicioParametricas();
            ServicioMonodrogas   servMonodroga = new ServicioMonodrogas();

            Estudio          estudio          = this.Obtener(idEstudio);
            EstudioMonodroga estudioMonodroga = null;

            int _idEstudioMonodroga = idEstiudioMonodroga.ConvertirInt();

            if (_idEstudioMonodroga == -1)
            {
                estudioMonodroga = new EstudioMonodroga();
            }
            else
            {
                estudioMonodroga = estudio.ObtenerMonodroga(_idEstudioMonodroga);
            }

            estudioMonodroga.Monodroga = servMonodroga.MonodrogaObtener(idMonodroga.ConvertirInt());

            estudioMonodroga.Validar();

            if (_idEstudioMonodroga == -1)
            {
                estudio.AgregarMonodroga(estudioMonodroga);
            }

            this.Grabar(estudio);
        }
Ejemplo n.º 9
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);
            }
        }
Ejemplo n.º 10
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();
                    }
                });
            });
        }
Ejemplo n.º 11
0
        public void EnviarMailContactoHomePage(string datosContacto)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Parametro parms    = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_HOST");
            string    hostSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PUERTO");
            string puertoSMTP = (parms != null) ? parms.Valor : "0";

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_USER");
            string userSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PWD");
            string pwdSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "REMITENTE_AVISOS");
            string remitente = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "EMAIL_CONTACTOHOMEPAGE_ASUNTO");
            string asunto = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "EMAIL_CONTACTOHOMEPAGE_DESTINATARIOS");
            string mailDestinatarios = (parms != null) ? parms.Valor : string.Empty;

            CorreoElectronico email = new CorreoElectronico(hostSMTP, puertoSMTP.ConvertirInt(), userSMTP, pwdSMTP);

            dynamic datosAux = ServiciosHelpers.DeserializarGenerico(datosContacto);

            ContactoHP contacto = new ContactoHP();

            contacto.Fecha    = DateTime.Now;
            contacto.Email    = datosAux.email;
            contacto.Telefono = datosAux.telefono;
            contacto.Nombre   = datosAux.nombre;
            contacto.Comite   = datosAux.comite;
            contacto.Mensaje  = datosAux.mensaje;

            RepositoryGenerico <ContactoHP> repositoryContacto = new RepositoryGenerico <ContactoHP>();

            repositoryContacto.Actualizar(contacto);


            string[] destinatarios = mailDestinatarios.Split(';');
            email.Destinatarios.AddRange(destinatarios.ToList <string>());

            email.Remitente     = remitente;
            email.Asunto        = asunto;
            email.ContenidoHTML = false;
            email.Contenido     = string.Format(" Se contactó: {0}\n Comité de Ética: {1}\n Email: {2}\n Teléfopno: {3}\n Mensaje:\n{4}",
                                                contacto.Nombre,
                                                contacto.Comite,
                                                contacto.Email,
                                                contacto.Telefono,
                                                contacto.Mensaje);
            email.EnviarMail();
        }
Ejemplo n.º 12
0
        public void GrabarEstado(string idEstudio, string estado)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Estudio estudio = Obtener(idEstudio);

            estudio.Estado = servParametricas.EstadoEstudioObtener(estado.ConvertirInt());

            this.Grabar(estudio);
        }
Ejemplo n.º 13
0
        public int GrabarDocumento(string idEstudio, string idDocumento, string descripion, string idTipoDocumento, string limitante, Usuario usuarioLogin,
                                   bool verificarVersion, string idVersion, string versionDescripion, string versionFecha, string versionAprobadoANMAT, string versionFechaAprobadoANMAT, string versionFechaEstado, string versionIdEstado, string participantes,
                                   string requiereAlertaInactividad, string mesesAlertaInactividad, string requiereAlertaInformeAvance, string mesesAlertaInformeAvance)
        {
            //ServiciosHelpers.ValidarClave(estudio);

            Documento documento = null;

            int _idDocumento = idDocumento.ConvertirInt();

            if (_idDocumento != -1)
            {
                documento = repository.Obtener(_idDocumento);
            }

            if (documento == null)
            {
                documento = new Documento();
            }

            documento.Descripcion   = string.IsNullOrEmpty(descripion) ? string.Empty : descripion;
            documento.TipoDocumento = this.TipoDocumentoObtener(idTipoDocumento.ConvertirInt());
            documento.Limitante     = limitante.ConvertirBool();
            documento.Vigente       = true;
            documento.IdEstudio     = idEstudio.ConvertirInt();

            documento.Validar();


            if (verificarVersion)
            {
                this.ActualizarDocumentoVersion(documento, idVersion, versionDescripion, versionFecha, versionAprobadoANMAT, versionFechaAprobadoANMAT, versionFechaEstado, versionIdEstado, participantes, usuarioLogin);
            }
            else if (documento.TipoDocumento != null && !documento.TipoDocumento.RequiereVersion && documento.Versiones.Count == 0)
            {
                ServicioParametricas servParametricas = new ServicioParametricas();
                DocumentoVersion     version          = new DocumentoVersion();
                version.Fecha       = null;
                version.Descripcion = string.Empty;

                Parametro parmsEstado = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_INGRESADO");
                string    idEstado    = (parmsEstado != null) ? parmsEstado.Valor : null;

                DocumentoVersionEstado versionEstado = this.CrearDocumentoVersionEstado(documento.TipoDocumento, idEstado, DateTime.Now.ToString(), usuarioLogin);
                version.AgregarVersionEstado(versionEstado);

                this.AgregarParticipantes(participantes, documento, version);

                documento.AgregarVersion(version);
            }


            return(this.Grabar(documento));
        }
Ejemplo n.º 14
0
        public void GrabarDocumentoVersionArchivoAdjunto(string idEstudio, string idDocumento, string idVersion, string nombreArchivo)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Documento documento = this.Obtener(idDocumento);

            DocumentoVersion version = version = documento.ObtenerVersion(idVersion.ConvertirInt());

            version.Archivo = nombreArchivo;

            this.Grabar(documento);
        }
Ejemplo n.º 15
0
        public void EliminarDocumentoVersionEstado(string idEstudio, string idDocumento, string idVersion, string idVersionEstado, string idEstado)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            ServicioEquipos      servEquipo       = new ServicioEquipos();

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

            version.EliminarVersionEstado(int.Parse(idVersionEstado));

            this.Grabar(documento);
        }
Ejemplo n.º 16
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());
            }
        }
Ejemplo n.º 17
0
        public string ArmarComentarioInicialFijo(Acta acta)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            string plantillaCometarioInicial      = servParametricas.PlantillaObtenerTexto("ACTA - TEXTO INTRODUCTORIO");

            //texto a obtener de plantillas
            if (plantillaCometarioInicial == null || plantillaCometarioInicial == string.Empty)
            {
                plantillaCometarioInicial = "En la Ciudad Autónoma de Buenos Aires, a las {0} hs del día {1}, se reúnen: {2} para dar comienzo a la reunión del Comité de Ética en Farmacología Clínica de la Fundación CIDEA (CEFC) con los siguientes temas a tratar: ";
            }

            return(string.Format(plantillaCometarioInicial, acta.Hora, acta.Fecha.ToLongDateString(), acta.ParticipantesToString));
        }
Ejemplo n.º 18
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);
        }
Ejemplo n.º 19
0
        public void GrabarDocumentoVersion(string idEstudio, string idDocumento, string idVersion, string descripion, string fecha, string aprobadoANMAT, string fechaAprobadoANMAT, string fechaEstado, string idEstado, string participantes, Usuario usuarioLogin)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Documento documento = this.Obtener(idDocumento);

            if (documento == null)
            {
                throw new ApplicationException("Error al obtener el Documento.");
            }

            this.ActualizarDocumentoVersion(documento, idVersion, descripion, fecha, aprobadoANMAT, fechaAprobadoANMAT, fechaEstado, idEstado, participantes, usuarioLogin);

            this.Grabar(documento);
        }
Ejemplo n.º 20
0
        private static void InicializarClave()
        {
            try
            {
                AppSettingsReader webConfigReader = new AppSettingsReader();
                key             = "QEzBx86jTAs=";
                claveEncriptada = (string)webConfigReader.GetValue("nhibernateConfiguration", typeof(string));

                ServicioParametricas servicio = new ServicioParametricas();
                baseDatos           = servicio.BaseDatos;
                servidor            = servicio.ServidorBaseDatos;
                comite              = servicio.ObtenerObjeto <Parametro>("Descripcion", "Comite");
                fechaImplementacion = servicio.ObtenerObjeto <Parametro>("Descripcion", "FechaImplementacion");
            }
            catch { }
        }
Ejemplo n.º 21
0
        public void TipoUsuarioGrabar(string id, string descripcion, string permisos)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            TipoUsuario          tipoUSR          = null;

            int _id = -1;

            if (!int.TryParse(id, out _id))
            {
                _id = -1;
            }

            if (_id == -1)
            {
                tipoUSR = new TipoUsuario();
            }
            else
            {
                tipoUSR = this.TipoUsuarioObtener(_id);
            }

            tipoUSR.Descripcion = descripcion == null ? string.Empty : descripcion;
            tipoUSR.Vigente     = true;

            if (permisos.Trim().Length > 0)
            {
                TipoUsuarioAcceso tipoUsuarioAcceso     = null;
                string[]          permisosSeleccionados = permisos.Substring(1).Split(';');

                foreach (string permiso in permisosSeleccionados)
                {
                    tipoUsuarioAcceso = new TipoUsuarioAcceso();
                    string[] menuAccesos = permiso.Split(',');

                    tipoUsuarioAcceso.IdMenuPrincipal  = menuAccesos[0].ConvertirInt();
                    tipoUsuarioAcceso.IdMenuSecundario = menuAccesos[1].ConvertirInt();
                    tipoUsuarioAcceso.NivelAcceso      = servParametricas.ObtenerObjeto <NivelAcceso>(menuAccesos[2].ConvertirInt());

                    tipoUSR.AsignarPermiso(tipoUsuarioAcceso);
                }
            }

            RepositoryGenerico <TipoUsuario> repository = new RepositoryGenerico <TipoUsuario>();

            repository.Actualizar(tipoUSR);
        }
Ejemplo n.º 22
0
        public void CartaRespuestaModeloGrabar(string id, string datos)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            CartaRespuestaModelo CartaRespuestaModelo;

            dynamic datosAux = ServiciosHelpers.DeserializarGenerico(datos);

            int _id = id.ConvertirInt();

            if (_id == -1)
            {
                CartaRespuestaModelo = new CartaRespuestaModelo();
            }
            else
            {
                CartaRespuestaModelo = this.CartaRespuestaModeloObtener(_id);
            }

            CartaRespuestaModelo.Descripcion = datosAux.Descripcion == null ? string.Empty : datosAux.Descripcion;
            CartaRespuestaModelo.Vigente     = true;
            CartaRespuestaModelo.IncluirDocumentosEvaluados        = datosAux.IncluirDocumentosEvaluados;
            CartaRespuestaModelo.IncluirDocumentosTomaConocimiento = datosAux.IncluirDocumentosTomaConocimiento;
            CartaRespuestaModelo.IncluirDocumentosPedidoCambio     = datosAux.IncluirDocumentosPedidoCambio;
            CartaRespuestaModelo.IncluirTodosDocumentosEstudio     = datosAux.IncluirTodosDocumentosEstudio;
            CartaRespuestaModelo.PlantillaIntroduccion             = (datosAux.IdPlantillaIntroduccion == null) ? null : servParametricas.PlantillaObtener(datosAux.IdPlantillaIntroduccion);
            CartaRespuestaModelo.PlantillaIntroduccionOpcional     = (datosAux.IdPlantillaIntroduccion2 == null) ? null : servParametricas.PlantillaObtener(datosAux.IdPlantillaIntroduccion2);
            CartaRespuestaModelo.PlantillaPiePagina            = (datosAux.IdPlantillaPiePagina == null) ? null : servParametricas.PlantillaObtener(datosAux.IdPlantillaPiePagina);
            CartaRespuestaModelo.PlantillaBuenasPracticas      = (datosAux.IdPlantillaBuenasPracticas == null) ? null : servParametricas.PlantillaObtener(datosAux.IdPlantillaBuenasPracticas);
            CartaRespuestaModelo.PlantillaTextoAprobacion      = (datosAux.IdPlantillaTextoAprobacion == null) ? null : servParametricas.PlantillaObtener(datosAux.IdPlantillaTextoAprobacion);
            CartaRespuestaModelo.PlantillaTextoFirmaPresidente = (datosAux.IdPlantillaTextoFirmaPresidente == null) ? null : servParametricas.PlantillaObtener(datosAux.IdPlantillaTextoFirmaPresidente);
            CartaRespuestaModelo.IncluirFirmaPresidente        = datosAux.IncluirFirmaPresidente;
            CartaRespuestaModelo.IncluirFirmaMiembros          = datosAux.IncluirFirmaMiembros;
            CartaRespuestaModelo.TextoLibre = datosAux.TextoLibre;

            CartaRespuestaModelo.Validar();

            RepositoryGenerico <CartaRespuestaModelo> repository = new RepositoryGenerico <CartaRespuestaModelo>();

            repository.Actualizar(CartaRespuestaModelo);
        }
Ejemplo n.º 23
0
        public void ProfesionalGrabar(string id, string apellido, string nombre, string idTipoProfesional, string IdRolcomite, string titulo, string ordenActa)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            Profesional          profesional;

            int _id = -1;

            if (!int.TryParse(id, out _id))
            {
                _id = -1;
            }

            if (_id == -1)
            {
                profesional = new Profesional();
            }
            else
            {
                profesional = this.ProfesionalObtener(_id);
            }

            profesional.Apellido  = apellido.ConvertirString();
            profesional.Nombre    = nombre.ConvertirString();
            profesional.Titulo    = titulo.ConvertirString();
            profesional.RolComite = servParametricas.ObtenerObjeto <RolComite>(IdRolcomite.ConvertirInt());
            profesional.OrdenActa = ordenActa.ConvertirInt();
            profesional.Vigente   = true;

            if (idTipoProfesional.ConvertirInt() != -1)
            {
                profesional.TipoProfesional = this.TipoProfesionalObtener(idTipoProfesional.ConvertirInt());
            }

            profesional.Validar();

            RepositoryGenerico <Profesional> repository = new RepositoryGenerico <Profesional>();

            repository.Actualizar(profesional);
        }
Ejemplo n.º 24
0
        public int GrabarEstudio(string idEstudio, string codigo, string nombre, string nombreCompleto, string patologia, string poblacion, string estado, string fechaPresentacion, string requiereAlerta, string mesesAlerta, string idTipoEstudio)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Estudio estudio = null;

            int _idEstudio = idEstudio.ConvertirInt();

            if (_idEstudio == -1)
            {
                estudio = new Estudio();
            }
            else
            {
                estudio = Obtener(idEstudio);
            }

            estudio.Codigo         = codigo;
            estudio.Descripcion    = nombre;
            estudio.NombreCompleto = nombreCompleto;
            estudio.Patologia      = servParametricas.PatologiaObtener(patologia.ConvertirInt());
            estudio.Estado         = servParametricas.EstadoEstudioObtener(estado.ConvertirInt());
            estudio.Poblacion      = poblacion;
            //TODO: Rediseñar modelo Estudio ---> EstudioRecordatorios
            if (fechaPresentacion.ConvertirDateTime() != DateTime.MinValue)
            {
                estudio.FechaPresentacion = fechaPresentacion.ConvertirDateTime();
            }
            estudio.RequiereAlerta = requiereAlerta.ConvertirBool();
            estudio.MesesAlerta    = mesesAlerta.ConvertirInt();
            if (idTipoEstudio.ConvertirInt() > 0)
            {
                estudio.IdTipoEstudio = idTipoEstudio.ConvertirInt();
            }

            estudio.Validar();

            return(this.Grabar(estudio));
        }
Ejemplo n.º 25
0
        public void GrabarCentroHabilitado(string idEstudio, string idCentroHabilitado, string idCentro, string desde, string hasta)
        {
            ServicioParametricas servicio = new ServicioParametricas();

            Estudio       estudio       = this.Obtener(idEstudio);
            EstudioCentro estudioCentro = null;

            int _idCentroHabilitado = idCentroHabilitado.ConvertirInt();

            if (_idCentroHabilitado == -1)
            {
                estudioCentro = new EstudioCentro();
            }
            else
            {
                estudioCentro = estudio.ObtenerCentroHabilitado(_idCentroHabilitado);
            }

            estudioCentro.Centro = servicio.CentroObtener(idCentro.ConvertirInt());
            if (!string.IsNullOrEmpty(desde))
            {
                estudioCentro.Desde = DateTime.Parse(desde);
            }
            if (!string.IsNullOrEmpty(hasta))
            {
                estudioCentro.Hasta = DateTime.Parse(hasta);
            }

            estudioCentro.Validar();

            if (_idCentroHabilitado == -1)
            {
                estudio.AgregarCentroHabilitado(estudioCentro);
            }

            this.Grabar(estudio);
        }
Ejemplo n.º 26
0
        public int Grabar(string idActa, string descripcion, string fecha, string hora, string comentarioInicialFijo, string comentarioInicial, string comentarioFinal, string cerrada, string participantes)
        {
            ServicioEstudios     servEstudio      = new ServicioEstudios();
            ServicioEquipos      servEquipo       = new ServicioEquipos();
            ServicioParametricas servParametricas = new ServicioParametricas();

            Acta acta = null;

            int _idActa = idActa.ConvertirInt();

            descripcion = string.IsNullOrEmpty(descripcion) ? string.Empty : descripcion;

            if (descripcion.StartsWith("DOSSIER"))
            {
                descripcion = string.Format("{0} - Acta número: {1} - {2}", descripcion, idActa.ToString(), DateTime.Now.ToString("dd/mm/yyyy"));
            }

            if (_idActa == -1)
            {
                List <Acta> actasMismaDescripcion = repository.ObtenerTodosVigentes(descripcion).ToList <Acta>();
                if (actasMismaDescripcion.Count > 0)
                {
                    throw new ApplicationException(string.Format(@"Ya existe una Acta con la Descripcion {0}", descripcion));
                }

                acta = new Acta();

                this.InicializarParticipantes(acta);
            }
            else
            {
                acta = this.Obtener(idActa);

                string[] actaParticipantes = participantes.Split(';');
                foreach (string participante in actaParticipantes)
                {
                    if (participante.Trim().Length > 0)
                    {
                        string[]    infoParticipante   = participante.Split(',');
                        int         idActaParticipante = infoParticipante[0].ConvertirInt();
                        Profesional profesional        = servEquipo.ProfesionalObtener(infoParticipante[1].ConvertirInt());
                        RolComite   rolComite          = servParametricas.ObtenerObjeto <RolComite>(infoParticipante[2].ConvertirInt());

                        acta.ActualizarParticipanteRolcomite(idActaParticipante, rolComite);
                    }
                }
            }
            acta.Descripcion = descripcion.ConvertirString();
            acta.Fecha       = fecha.ConvertirDateTime();
            acta.Hora        = hora;

            acta.ComentarioInicialFijo = comentarioInicialFijo;
            acta.ComentarioInicial     = comentarioInicial.ConvertirString();
            acta.ComentarioInicial     = comentarioInicial.ConvertirString();
            acta.ComentarioFinal       = comentarioFinal.ConvertirString();
            acta.Cerrada = cerrada.ConvertirBool();

            acta.Vigente = true;

            return(this.Grabar(acta));
        }
Ejemplo n.º 27
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);
        }
Ejemplo n.º 28
0
        public void GrabarDocumentoVersionEstado(DocumentoVersion version, EstadoDocumento estado, bool actualizarEstadoFinal, Usuario usuarioLogin)
        {
            if (estado == null && !actualizarEstadoFinal)
            {
                return;
            }

            ServicioParametricas servParametricas = new ServicioParametricas();

            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 == estado)
                {
                    return;
                }

                //si ya tiene un estado final y no se está actualizando estado final, se quita primero para que quede un solo estado final
                if (versionEstadoActual.EstadoFinal.HasValue && versionEstadoActual.EstadoFinal.Value)
                {
                    if (actualizarEstadoFinal)
                    {
                        return;
                    }
                    else
                    {
                        version.EliminarVersionEstado(versionEstadoActual.Id);
                    }
                }
            }

            EstadoDocumento estadoAprobadoExistente         = null;
            EstadoDocumento estadoTomaConocimientoExistente = null;
            EstadoDocumento nuevoEstado = null;

            if (actualizarEstadoFinal)
            {
                List <EstadoDocumento> listEstados = version.Documento.TipoDocumento.ObtenerFlujoDefault().ObtenerEstados(versionEstadoActual.Estado);

                Parametro parmsEstado      = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_APROBADO");
                string    idEstadoAprobado = (parmsEstado != null) ? parmsEstado.Valor : null;
                estadoAprobadoExistente = listEstados.Find(delegate(EstadoDocumento match) { return(match.Id == idEstadoAprobado.ConvertirInt()); });

                parmsEstado = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_TOMA_CONOCIMIENTO");
                string idEstadoTomaConocimiento = (parmsEstado != null) ? parmsEstado.Valor : null;
                estadoTomaConocimientoExistente = listEstados.Find(delegate(EstadoDocumento match) { return(match.Id == idEstadoTomaConocimiento.ConvertirInt()); });

                if (estadoAprobadoExistente == null && estadoTomaConocimientoExistente == null)
                {
                    return;
                }

                nuevoEstado = (estadoAprobadoExistente != null) ? estadoAprobadoExistente : estadoTomaConocimientoExistente;
            }
            else
            {
                nuevoEstado = estado;
            }

            DocumentoVersionEstado versionEstado = new DocumentoVersionEstado();

            versionEstado.Fecha         = DateTime.Now;
            versionEstado.Estado        = nuevoEstado;
            versionEstado.Usuario       = usuarioLogin;
            versionEstado.Observaciones = string.Empty;

            TipoDocumentoFlujoEstado flujoEstado = version.Documento.TipoDocumento.ObtenerFlujoDefault().ObtenerFlujoEstado(nuevoEstado);

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

            versionEstado.Validar();

            version.AgregarVersionEstado(versionEstado);
        }
Ejemplo n.º 29
0
        public List <string> ImprimirCartaRespuesta(string idActa, string idEstudio, bool exportarWord)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            ServicioDocumentos   servDocumentos   = new ServicioDocumentos();

            string idEstadoPedidoCambio = servParametricas.ParametroObtener("ESTADO_DOC_PEDIDO_CAMBIO");
            string idEstadoAprobado     = servParametricas.ParametroObtener("ESTADO_DOC_APROBADO");

            ServicioActas servicio = new ServicioActas();
            Acta          acta     = servicio.Obtener(idActa);

            List <ActaDocumento> actaDocs = acta.Documentos.ToList <ActaDocumento>()
                                            .FindAll(item => item.DocumentoVersion.Documento.Estudio.Id == idEstudio.ConvertirInt());

            //&& item.ImprimirCarta);

            if (actaDocs == null || actaDocs.Count == 0)
            {
                return(new List <string>());
            }

            ProcesadorPlantillaCarta procesador = new ProcesadorPlantillaCarta();

            procesador.IdEstadoPedidoCambio = idEstadoPedidoCambio.ConvertirInt();
            procesador.IdEstadoAprobado     = idEstadoAprobado.ConvertirInt();

            procesador.ComiteNombreCompleto = servParametricas.ParametroObtener("COMITE_NOMBRE_COMPLETO");
            procesador.ComiteIniciales      = servParametricas.ParametroObtener("COMITE_INICIALES");
            procesador.Vocales                 = acta.Vocales;
            procesador.PresidenteComite        = acta.PresidenteComite != null ? acta.PresidenteComite.NombreYApellido : string.Empty;
            procesador.LeyendaPresidenteComite = acta.ObtenerRolComiteParticipantes(acta.PresidenteComite) != null?acta.ObtenerRolComiteParticipantes(acta.PresidenteComite).Descripcion : "Presidente";

            procesador.FechaActa = acta.Fecha;
            //ProcesadorHelpers

            ActaEstudio actaEstudio = acta.ObtenerEstudio(idEstudio.ConvertirInt());

            if (actaEstudio.Estudio.IdTipoEstudio.HasValue)
            {
                actaEstudio.Estudio.TipoEstudio = servParametricas.TipoEstudioObtener(actaEstudio.Estudio.IdTipoEstudio.Value);
            }
            procesador.actaEstudio = actaEstudio;

            if (actaEstudio.Estudio.CentroHabilitado != null)
            {
                procesador.CentrosInternacion = servParametricas.CentroObtenerCentrosInternacion(actaEstudio.Estudio.CentroHabilitado.Id);
            }

            procesador.TiposDocumentosTratados  = servDocumentos.TiposDocumentoObtenerListarCartaRespuesta(-1);
            procesador.TiposDocumentosEvaluados = servDocumentos.TiposDocumentoObtenerListarCartaRespuesta((int)TIPO_DOCUMENTO_GRUPO.SE_EVALUA);

            if (actaEstudio.CartaRespuestaModelo.IncluirTodosDocumentosEstudio)
            {
                actaDocs = servicio.ListarDocumentoTratadosXEstudio(idEstudio);
            }

            procesador.plantillasTexto = servParametricas.PlantillaObtenerVigentes((int)TIPOS_PLANTILLA.APROBACION_ESTUDIO);

            //procesador.NombrePlantilla = "AprobacionEstudioModelo.html";
            procesador.NombrePlantilla = string.Format("{0}{1}.html", actaEstudio.CartaRespuestaModelo.NombrePlantilla, (exportarWord ? "Word" : string.Empty));

            procesador.ProcesarCartaRespuesta(actaDocs);

            return(procesador.HTMLProcesado);
        }