示例#1
0
        public Acta Obtener(string idActa)
        {
            ServicioEstudios servEstudio = new ServicioEstudios();
            Acta             acta        = null;

            if (idActa.ConvertirInt() != -1)
            {
                acta = repository.Obtener(idActa.ConvertirInt());
                acta.ComentarioInicialFijo = ServiciosHelpers.ObtenerTextoPlano(acta.ComentarioInicialFijo);
                acta.ComentarioInicial     = ServiciosHelpers.ObtenerTextoPlano(acta.ComentarioInicial);
                acta.ComentarioFinal       = ServiciosHelpers.ObtenerTextoPlano(acta.ComentarioFinal);
                //TODO: Para optimizar performance si quitamos del hbm el mapeo de documentos y notas, se deberian modificar todos las grabaciones de estos objetos
                //acta.Documentos = repository.ObtenerActaDocumentosTratados(idActa.ConvertirInt());
                acta.Notas = repository.ObtenerActaNotas(idActa.ConvertirInt());
            }

            if (acta != null)
            {
                acta.Documentos.ToList <ActaDocumento>().ForEach(delegate(ActaDocumento actaDoc)
                {
                    actaDoc.DocumentoVersion.Documento.Estudio = servEstudio.ObtenerSoloEstudio(actaDoc.DocumentoVersion.Documento.IdEstudio.ToString());
                    actaDoc.Descripcion = ServiciosHelpers.ObtenerTextoPlano(actaDoc.ComentarioDocumento);
                    acta.Notas.ToList <Nota>().FindAll(item => item.IdEstudio == actaDoc.IdEstudio)
                    .ForEach(delegate(Nota nota)
                    {
                        nota.ActaOrden = actaDoc.OrdenEstudio;
                    });
                });
                List <Nota> listNotas = acta.Notas.ToList <Nota>()
                                        .OrderBy(item => item.ActaOrden)
                                        .ToList <Nota>();

                listNotas.ForEach(delegate(Nota nota)
                {
                    nota.Estudio = servEstudio.ObtenerSoloEstudio(nota.IdEstudio.ToString());
                    nota.Texto   = ServiciosHelpers.ObtenerTextoPlano(nota.Texto);
                });

                acta.Notas.Clear();
                acta.Notas = listNotas;
                // .OrderBy(item => (item.ActaImprimeAlFinal ? 0 : 1)
            }

            return(acta);
        }