]> git.llucax.com Git - z.facultad/75.10/miklolife.git/commitdiff
* 99% done, unos pequeños ajusten faltan
authorRicardo Markiewicz <gazer.arg@gmail.com>
Tue, 5 Jul 2005 05:14:29 +0000 (05:14 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Tue, 5 Jul 2005 05:14:29 +0000 (05:14 +0000)
demo/src/Controlador/AfiliadoSolicitanteController.cs
demo/src/Vistas/AgregarAfiliado.cs

index 8d40a91811e2556f217e327aa6955a3aa8b0204e..8d22e4a43141d99d74b68e466cc135a8eb3f1701 100644 (file)
@@ -76,7 +76,7 @@ public class AfiliadoSolicitanteController : Controller
                 **/
                return salida;
        }
-       
+
        public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, Plan plan) 
        {
                /* Obtengo el Solicitante asi luego lo borro */
@@ -99,6 +99,30 @@ public class AfiliadoSolicitanteController : Controller
                return afil;
        }
 
+       
+       public Afiliado AfiliarFamiliar (Afiliado AfiTi, ETipoDocumento tipoDoc, int nroDoc, Plan plan) 
+       {
+               /* Obtengo el Solicitante asi luego lo borro */
+               Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
+               s.Pendiente = false;
+               s.Promotor = null;
+               ArrayList a = GetSolicitantes (s);
+               s = (Solicitante)a[0];
+
+               if (s == null)
+                       Console.WriteLine ("ERROR");
+
+               /* Creo el afiliado */
+               Afiliado afil = new Afiliado (s, plan, DateTime.Now);
+               afil.Titular = AfiTi;
+
+               /* Agrego el afiliado */
+               Db.set (afil);
+               /* Saco el solicitante */
+               Db.delete (s);
+               return afil;
+       }
+
        public ArrayList Buscar (ETipoDocumento tipoDoc, int nroDoc)
        {
                ArrayList salida = new ArrayList ();
index 5d39c34861742cd65fdf4d021b39819514d0eee1..866a334fa9b45c448f7a84ea887d6ce9936f1efc 100644 (file)
@@ -62,20 +62,16 @@ public class VAgregarAfiliado
                TreeModel model; 
                TreeSelection sel = lista.Selection;
 
-               TreePath[] rows = sel.GetSelectedRows (out model);
-               if (rows != null) {
-                       model.GetIter (out iter, rows[0]);
                
+               if (sel.GetSelected(out model, out iter) == true) {
                        ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true);
                        int nroDoc = (int)model.GetValue (iter, 1);
 
-                       Console.WriteLine ("{0} {1}", tipoDoc, nroDoc);
-
                        AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
                        Afiliado a = c.ExisteAfiliado (tipoDoc, nroDoc);
 
                        if (a == null) {
-                               Console.WriteLine ("Afiliando");
+                               Afiliar (model, iter, c);
                        } else {
                                Console.WriteLine ("Lo borro o lo reactivo!");
                        }
@@ -84,8 +80,30 @@ public class VAgregarAfiliado
                }
        }
 
-       private void Afiliar (TreeModel model, TreePath path)
+       private void Afiliar (TreeModel model, TreeIter parent, AfiliadoSolicitanteController c)
        {
+               ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (parent, 0), true);
+               int nroDoc = (int)model.GetValue (parent, 1);
+
+               /* Afilio el titular */
+               Afiliado AfiTitular = c.AfiliarTitular (tipoDoc, nroDoc, null);
+               Console.WriteLine ("Titular afiliado!! {0} {1}", tipoDoc, nroDoc);
+
+               /* Obtengo el primer familiar, si es que existe */
+               TreeIter iter;
+               if (model.IterChildren (out iter, parent) == true) {
+                       tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true);
+                       nroDoc = (int)model.GetValue (iter, 1);
+
+                       Console.WriteLine ("Titular familiar!! {0} {1}", tipoDoc, nroDoc);
+                       while (model.IterNext (ref iter) == true) {
+                               tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true);
+                               nroDoc = (int)model.GetValue (iter, 1);
+
+                               Console.WriteLine ("Titular familiar!! {0} {1}", tipoDoc, nroDoc);
+                               c.AfiliarFamiliar (AfiTitular, tipoDoc, nroDoc, null);
+                       }
+               }
        }
 
        public void Run ()