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); }