From 6ef9085b2768547cadbd695a5bf28721d7e69eb8 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Mon, 4 Jul 2005 03:55:23 +0000 Subject: [PATCH] * Pasos finales ... la pucha que esta query me hace renegar :D --- .../Controlador/AfiliadoSolicitanteController.cs | 16 ++++++++++++++++ demo/src/Vistas/AgregarAfiliado.cs | 16 ++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/demo/src/Controlador/AfiliadoSolicitanteController.cs b/demo/src/Controlador/AfiliadoSolicitanteController.cs index 59c7750..b243964 100644 --- a/demo/src/Controlador/AfiliadoSolicitanteController.cs +++ b/demo/src/Controlador/AfiliadoSolicitanteController.cs @@ -34,6 +34,22 @@ public class AfiliadoSolicitanteController : Controller return lst; } + public ArrayList ObtenerFamiliaresAfiliar (Solicitante s) + { + Query query = Db.query(); + query.constrain(typeof(Solicitante)); + query.descend("_promotor").constrain(null); + query.descend("_pendiente").constrain(false); + query.descend("_titular").constrain(s); + + Console.WriteLine (query); + ObjectSet result = query.execute(); + Console.WriteLine (result); + ArrayList lst = ObjectSetToArrayList (result); + + return lst; + } + public bool ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc) { foreach (Afiliado afil in _afiliados) { diff --git a/demo/src/Vistas/AgregarAfiliado.cs b/demo/src/Vistas/AgregarAfiliado.cs index e100128..bec4450 100644 --- a/demo/src/Vistas/AgregarAfiliado.cs +++ b/demo/src/Vistas/AgregarAfiliado.cs @@ -18,7 +18,7 @@ public class VAgregarAfiliado xml = new Glade.XML (null, "agregar_afiliado.glade", "agregar_afiliado", null); xml.Autoconnect (this); - ListStore store = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string)); + TreeStore store = new TreeStore (typeof(string), typeof(int), typeof (string), typeof (string)); lista.Model = store; /* Columnas */ @@ -33,18 +33,30 @@ public class VAgregarAfiliado private void CargarParaAfiliar () { - ListStore store = (ListStore)lista.Model; + TreeStore store = (TreeStore)lista.Model; ArrayList afiliados; AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); afiliados = c.ObtenerSolicitantesAfiliar (); foreach (Solicitante s in afiliados) { TreeIter iter = store.AppendValues (s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido); + CargarFamiliaresDe (s, iter, c); } c.Dispose (); } + private void CargarFamiliaresDe (Solicitante spadre, TreeIter padre, AfiliadoSolicitanteController c) + { + TreeStore store = (TreeStore)lista.Model; + ArrayList familiares = c.ObtenerFamiliaresAfiliar (spadre); + Console.WriteLine ("{0} {1} -> {2}", spadre.TipoDocumento, spadre.NroDocumento, familiares.Count); + + foreach (Solicitante s in familiares) { + TreeIter iter = store.AppendValues (padre, s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido); + } + } + public void OnAfiliar (object o, EventArgs args) { -- 2.43.0