]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Vistas/AgregarAfiliado.cs
Tuve que agregar ctor sin parametros en persona.
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / AgregarAfiliado.cs
index 3452e3b8180487e7a2b5ed32c03414c9cad99641..866a334fa9b45c448f7a84ea887d6ce9936f1efc 100644 (file)
@@ -62,18 +62,16 @@ public class VAgregarAfiliado
                TreeModel model; 
                TreeSelection sel = lista.Selection;
 
-               /* TODO :ASUMO QUE SELECCIONO EL TITULAR !!!
-                * Despues lo fixeo ... Quiero que ande :D
-                */
-               if (sel.GetSelected (out model, out iter)) {
+               
+               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);
 
                        AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
                        Afiliado a = c.ExisteAfiliado (tipoDoc, nroDoc);
+
                        if (a == null) {
-                               /* TODO : Seleccionar plan! */
-                               Afiliado titular = c.AfiliarTitular (tipoDoc, nroDoc, null);
+                               Afiliar (model, iter, c);
                        } else {
                                Console.WriteLine ("Lo borro o lo reactivo!");
                        }
@@ -82,6 +80,32 @@ public class VAgregarAfiliado
                }
        }
 
+       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 ()
        {
                Dialog w = (Dialog)xml.GetWidget ("agregar_afiliado");