示例#1
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());
            }
        }