]> git.llucax.com Git - z.facultad/75.10/miklolife.git/commitdiff
* Ahi ya va queriendo, ya se afilia el titular
authorRicardo Markiewicz <gazer.arg@gmail.com>
Tue, 5 Jul 2005 04:39:22 +0000 (04:39 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Tue, 5 Jul 2005 04:39:22 +0000 (04:39 +0000)
demo/src/Controlador/AfiliadoSolicitanteController.cs
demo/src/Dominio/Afiliado.cs
demo/src/Vistas/AgregarAfiliado.cs

index 00a2bcbe8670d9df4ca93114339e30db10c8c222..77c32279d5c13ab568add374a1d39d14e64143d4 100644 (file)
@@ -48,13 +48,13 @@ public class AfiliadoSolicitanteController : Controller
                return lst;
        }
 
-       public bool ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc)
+       public Afiliado ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc)
        {
-               foreach (Afiliado afil in _afiliados) {
-                       if ((afil.TipoDocumento == tipoDoc) && (afil.NroDocumento == nroDoc))
-                               return true;
-               }
-               return false;
+               Afiliado afil = new Afiliado (tipoDoc, nroDoc);
+               ObjectSet result = Db.get (afil);
+               afil = (Afiliado)result.next ();
+
+               return afil;
        }
 
        public bool ExisteAfiliado (int codigo)
@@ -77,13 +77,25 @@ public class AfiliadoSolicitanteController : Controller
                return salida;
        }
        
-       public bool afiliarTitular (ETipoDocumento tipoDoc, int nroDo, Plan plan)
        {
-               try {
-                       //do something with db4o
-               }
-               catch (Exception e){}
-               return true;
+               /* 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);
+
+               /* Agrego el afiliado */
+               Db.set (afil);
+               /* Saco el solicitante */
+               Db.delete (s);
+               return afil;
        }
 
        public ArrayList Buscar (ETipoDocumento tipoDoc, int nroDoc)
index ad3b130179ac62cb5f5b8e0b98c58a9307402927..f943cee489bd2ef428506137d80db3697d0fb6b6 100644 (file)
@@ -36,6 +36,10 @@ public class Afiliado : Persona
                get { return _plan; }
        }
 
+       public Afiliado (ETipoDocumento tipoDoc, int nroDoc):base(tipoDoc, nroDoc, null)
+       {
+       }
+
        public Afiliado (Solicitante sol, Plan plan, DateTime afiliacion):base (sol.TipoDocumento, sol.NroDocumento, sol.Nombre)
        {
                Apellido = sol.Apellido;
index 717449a5a889301670b4dc9aa7ee13c5d1023bc5..3452e3b8180487e7a2b5ed32c03414c9cad99641 100644 (file)
@@ -58,7 +58,28 @@ public class VAgregarAfiliado
 
        public void OnAfiliar (object o, EventArgs args)
        {
-               
+               TreeIter iter;
+               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)) {
+                       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);
+                       } else {
+                               Console.WriteLine ("Lo borro o lo reactivo!");
+                       }
+
+                       c.Dispose ();
+               }
        }
 
        public void Run ()