예제 #1
0
        public void GenerarHTMLHeaderFooter(string idActa, string idEstudio, string pathArchivos)
        {
            ServicioActas servActa    = new ServicioActas();
            Acta          acta        = servActa.Obtener(idActa);
            ActaEstudio   actaEstudio = acta.ObtenerEstudio(idEstudio.ConvertirInt());

            ProcesadorPlantillaEncabezadoPiePagina procesador = new ProcesadorPlantillaEncabezadoPiePagina();

            procesador.estudio     = actaEstudio.Estudio;
            procesador.modeloCarta = actaEstudio.CartaRespuestaModelo;
            procesador.ProcesarPlantilla();

            string pathHTMLHeaderFooter = pathArchivos + @"\HeaderFooter.html";

            if (File.Exists(pathHTMLHeaderFooter))
            {
                File.Delete(pathHTMLHeaderFooter);
            }

            using (StreamWriter sw = File.CreateText(pathHTMLHeaderFooter))
            {
                sw.Write(procesador.HTMLProcesado);
                sw.Close();
            }
        }
예제 #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);
            }
        }
예제 #3
0
        public ActaEstudio ObtenerActaEstudio(string idActa, string idEstudio)
        {
            Acta        acta = this.Obtener(idActa);
            ActaEstudio actaEstudioReturn = null;

            if (acta != null)
            {
                actaEstudioReturn = acta.ObtenerEstudio(idEstudio.ConvertirInt());
                if (actaEstudioReturn != null)
                {
                    List <Nota> notasEstudio = acta.Notas.ToList <Nota>().FindAll(item => item.IdEstudio == idEstudio.ConvertirInt());
                    actaEstudioReturn.ComentarioAntesDocumentos   = "";
                    actaEstudioReturn.ComentarioDespuesDocumentos = "";
                    notasEstudio.ForEach(delegate(Nota nota)
                    {
                        if (!nota.ActaImprimeAlFinal)
                        {
                            actaEstudioReturn.ComentarioAntesDocumentos += nota.Texto;
                        }
                        if (nota.ActaImprimeAlFinal)
                        {
                            actaEstudioReturn.ComentarioDespuesDocumentos += nota.Texto;
                        }
                    });
                    if (actaEstudioReturn.TextoLibreCartaRespuesta.ConvertirString() == string.Empty)
                    {
                        actaEstudioReturn.TextoLibreCartaRespuesta = actaEstudioReturn.ComentarioDespuesDocumentos;
                    }
                }
            }
            return(actaEstudioReturn);
        }
예제 #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());
            }
        }
예제 #5
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);
        }