Beispiel #1
0
 /// <summary>
 /// Si el parametro participantes es distinto a null se cargan estos participantes
 /// Si el documento no tiene ninguna version ingresada se setean los investigadores principales por dafult
 /// Si el documento ya tiene versiones se setean los investigadores de la ultima version
 /// Tiene que invocarse antes de agregar la version al documento
 /// </summary>
 /// <param name="version"></param>
 public void AgregarParticipantes(string participantes, Documento documento, DocumentoVersion version)
 {
     if (participantes != null && participantes.Trim().Length > 0)
     {
         ServicioEquipos servEquipo = new ServicioEquipos();
         if (participantes != null && participantes.Trim().Length > 0)
         {
             string[] idProfesionales = participantes.Substring(1).Split(ServiciosHelpers.ID_SEP);
             foreach (string idProf in idProfesionales)
             {
                 this.AgregarParticipante(version, servEquipo.ProfesionalObtener(idProf.ConvertirInt()));
             }
         }
     }
     else
     {
         if (documento.Versiones.Count > 0 && documento.VersionActual.Participantes.Count > 0)
         {
             documento.VersionActual.Participantes.ToList <DocumentoVersionParticipante>().ForEach(delegate(DocumentoVersionParticipante participante)
             {
                 this.AgregarParticipante(version, participante.Profesional);
             });
         }
         else
         {
             ServicioEstudios servEstudio = new ServicioEstudios();
             documento.Estudio = servEstudio.Obtener(documento.IdEstudio.ToString());
             documento.Estudio.InvestigadoresPrincipalesProfesional.ForEach(delegate(Profesional profesional)
             {
                 this.AgregarParticipante(version, profesional);
             });
         }
     }
 }
Beispiel #2
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);
            }
        }
Beispiel #3
0
        public List <ActaEstudioDTO> ListarEstudiosDelActa(Acta acta)
        {
            ServicioEstudios servEstudios = new ServicioEstudios();

            List <ActaEstudioDTO> estudiosReturn = new List <ActaEstudioDTO>();

            acta.Documentos.ToList <ActaDocumento>().ForEach(delegate(ActaDocumento actaDocumento)
            {
                ActaEstudioDTO estudioDTO = estudiosReturn.Find(delegate(ActaEstudioDTO estudio)
                {
                    return(estudio.Id == actaDocumento.DocumentoVersion.Documento.Estudio.Id);
                });
                if (estudioDTO == null)
                {
                    ActaEstudioDTO dto = servEstudios.DameActaEstudioDTO(actaDocumento.DocumentoVersion.Documento.Estudio, actaDocumento);
                    //dto.DocumentosTratados = ListarDocumentosDelActa(acta, dto.Id);
                    estudiosReturn.Add(dto);
                }
            });

            acta.Notas.ToList <Nota>().ForEach(delegate(Nota nota)
            {
                ActaEstudioDTO estudioDTO = estudiosReturn.Find(delegate(ActaEstudioDTO estudio)
                {
                    return(estudio.Id == nota.IdEstudio);
                });
                if (estudioDTO == null)
                {
                    Estudio estudio = servEstudios.Obtener(nota.IdEstudio.ToString());
                    estudiosReturn.Add(servEstudios.DameActaEstudioDTO(estudio));
                }
            });

            return(estudiosReturn);
        }
Beispiel #4
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());
            }
        }
Beispiel #5
0
        public Documento Obtener(string idDocumento)
        {
            ServicioEstudios servEstudio = new ServicioEstudios();
            Documento        documento   = null;

            int _idDocumento = idDocumento.ConvertirInt();

            if (_idDocumento != -1)
            {
                documento         = repository.Obtener(_idDocumento);
                documento.Estudio = servEstudio.Obtener(documento.IdEstudio.ToString());
                this.ObtenerRecordatoriosAlertas(documento);
            }

            return(documento);
        }
Beispiel #6
0
        public Documento ObtenerDocumento(string idEstudio, string idDocumento)
        {
            ServicioEstudios servEstudio = new ServicioEstudios();
            Estudio          estudio     = servEstudio.Obtener(idEstudio);
            Documento        documento   = null;

            int _idDocumento = idDocumento.ConvertirInt();

            if (_idDocumento == -1)
            {
                documento = new Documento();
            }
            else
            {
                documento = estudio.ObtenerDocumento(_idDocumento);
                this.ObtenerRecordatoriosAlertas(documento);
            }
            documento.Estudio = estudio;

            return(documento);
        }
Beispiel #7
0
        public void EliminarDocumento(string idEstudio, string idDocumento)
        {
            ServicioEstudios servEstudio = new ServicioEstudios();
            Estudio          estudio     = servEstudio.Obtener(idEstudio);
            Documento        documento   = null;

            int _idDocumento = idDocumento.ConvertirInt();

            if (estudio != null && _idDocumento != -1)
            {
                documento = estudio.ObtenerDocumento(_idDocumento);
            }

            if (documento == null)
            {
                throw new ApplicationException("No existe el documento que desea eliminar");
            }

            estudio.EliminarDocumento(documento);
            servEstudio.Grabar(estudio);
        }
Beispiel #8
0
        public void Grabar(string id, string datos, string fechaAlta, string fechaActivacion, string idEstudio, string documentos)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            Recordatorio recordatorio    = null;
            Recordatorio recordatorioAux = serializer.Deserialize <Recordatorio>(datos);

            if (id.ConvertirInt() == -1)
            {
                recordatorio           = new Recordatorio();
                recordatorio.FechaAlta = DateTime.Now;
            }
            else
            {
                recordatorio = this.Obtener(id);
            }

            recordatorio.Descripcion        = recordatorioAux.Descripcion == null ? string.Empty : recordatorioAux.Descripcion;
            recordatorio.Vigente            = true;
            recordatorio.TipoRecordatorio   = this.TipoRecordatorioObtener(recordatorioAux.TipoRecordatorio.Id);
            recordatorio.EstadoRecordatorio = this.EstadoRecordatorioObtener(recordatorioAux.EstadoRecordatorio.Id);
            if (fechaActivacion.ConvertirDateTime() != DateTime.MinValue)
            {
                recordatorio.FechaActivacion = fechaActivacion.ConvertirDateTime();
            }
            recordatorio.AvisoMail       = recordatorioAux.AvisoMail.HasValue ? recordatorioAux.AvisoMail : false;
            recordatorio.AvisoPopup      = recordatorioAux.AvisoPopup.HasValue ? recordatorioAux.AvisoPopup : false;
            recordatorio.Color           = recordatorioAux.Color;
            recordatorio.Texto           = recordatorioAux.Texto;
            recordatorio.Destinatarios   = recordatorioAux.Destinatarios;
            recordatorio.DestinatariosCC = recordatorioAux.DestinatariosCC;
            recordatorio.Asunto          = recordatorioAux.Asunto;
            recordatorio.TextoMail       = recordatorioAux.TextoMail;
            recordatorio.EstadoMail      = recordatorioAux.EstadoMail;

            ServicioEstudios servEstudio = new ServicioEstudios();

            recordatorio.Estudio = servEstudio.Obtener(idEstudio);

            decimal mesesAlerta = -1;

            if (recordatorio.FechaActivacion.HasValue)
            {
                mesesAlerta = Math.Abs((DateTime.Now.Month - recordatorio.FechaActivacion.Value.Month) + 12 * (DateTime.Now.Year - recordatorio.FechaActivacion.Value.Year));
            }

            string[] recordatorioDocumentos = documentos.Split(';');
            foreach (string documento in recordatorioDocumentos)
            {
                if (documento.ConvertirInt() > 0)
                {
                    Documento docAgregar = recordatorio.Estudio.Documentos.ToList <Documento>().Find(delegate(Documento doc)
                    {
                        return(doc.Id == documento.ConvertirInt());
                    });

                    if (docAgregar != null)
                    {
                        recordatorio.AgregarDocumento(docAgregar, int.Parse(mesesAlerta.ToString()));
                    }
                }
            }

            recordatorio.Validar();
            repository.Actualizar(recordatorio);
        }