]> git.llucax.com Git - z.facultad/75.10/miklolife.git/commitdiff
* Pasos finales ... la pucha que esta query me hace renegar :D
authorRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 4 Jul 2005 03:55:23 +0000 (03:55 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 4 Jul 2005 03:55:23 +0000 (03:55 +0000)
demo/src/Controlador/AfiliadoSolicitanteController.cs
demo/src/Vistas/AgregarAfiliado.cs

index 59c7750961f3a35080e1da51070c0dd3006ccd8f..b243964c7c831905e7e689842d714b65efa0d2bb 100644 (file)
@@ -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) {
index e100128275edc3fcdbba77f41bf334f44849e8c6..bec44504ee49a2f99d7e2f1eea5858413e42d2a1 100644 (file)
@@ -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)
        {