]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Controlador/AfiliadoSolicitanteController.cs
Agrego material de estudio.
[z.facultad/75.10/miklolife.git] / demo / src / Controlador / AfiliadoSolicitanteController.cs
index 8d22e4a43141d99d74b68e466cc135a8eb3f1701..86c3e36f2d9fcecb7bd560eb5b30aeea3da103bd 100644 (file)
@@ -57,13 +57,14 @@ public class AfiliadoSolicitanteController : Controller
                return afil;
        }
 
-       public bool ExisteAfiliado (int codigo)
+       public Afiliado ExisteAfiliado (int codigo)
        {
-               foreach (Afiliado afil in _afiliados) {
-                       if (afil.Codigo == codigo)
-                               return true;
-               }
-               return false;
+               Afiliado afil = new Afiliado (ETipoDocumento.NONE, 0);
+               afil.Codigo = codigo;
+               ObjectSet result = Db.get (afil);
+               afil = (Afiliado)result.next ();
+
+               return afil;
        }
 
        public ArrayList ObtenerFamiliares (ETipoDocumento tipoDoc, int nroDoc)
@@ -77,7 +78,7 @@ public class AfiliadoSolicitanteController : Controller
                return salida;
        }
 
-       public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, Plan plan) 
+       public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, int codplan) 
        {
                /* Obtengo el Solicitante asi luego lo borro */
                Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
@@ -89,8 +90,16 @@ public class AfiliadoSolicitanteController : Controller
                if (s == null)
                        Console.WriteLine ("ERROR");
 
+               Plan c = new Plan ();
+               c.Codigo = codplan;
+               ObjectSet r = Db.get (c);
+               Plan plan = r.next () as Plan;
+
                /* Creo el afiliado */
                Afiliado afil = new Afiliado (s, plan, DateTime.Now);
+               AutoIncrementable i = new AutoIncrementable ();
+               afil.Codigo = i.NextAfiliado ();
+               i.Dispose ();
 
                /* Agrego el afiliado */
                Db.set (afil);
@@ -115,6 +124,9 @@ public class AfiliadoSolicitanteController : Controller
                /* Creo el afiliado */
                Afiliado afil = new Afiliado (s, plan, DateTime.Now);
                afil.Titular = AfiTi;
+               AutoIncrementable i = new AutoIncrementable ();
+               afil.Codigo = i.NextAfiliado ();
+               i.Dispose ();
 
                /* Agrego el afiliado */
                Db.set (afil);
@@ -248,6 +260,28 @@ public class AfiliadoSolicitanteController : Controller
                }
        }
 
+       public ArrayList BuscarAfiliados (ETipoDocumento tipoDoc, int nroDoc, int codigo, string apellido)
+       {
+               Afiliado a = new Afiliado (codigo);
+               a.TipoDocumento = tipoDoc;
+               a.NroDocumento = nroDoc;
+               a.Apellido = apellido;
+
+               Query query = Db.query();
+               query.constrain(typeof(Afiliado));
+               if (codigo != 0)
+                       query.descend("_codigo").constrain(codigo);
+               if (tipoDoc != ETipoDocumento.NONE)
+                       query.descend("_tipoDocumento").constrain(tipoDoc);
+               if (nroDoc != 0)
+                       query.descend("_nroDocumento").constrain(nroDoc);
+               if (apellido != null)
+                       query.descend("_apellido").constrain(apellido);
+
+               ObjectSet result = query.execute ();
+               return ObjectSetToArrayList (result);           
+       }
+       
 }
 
 }