X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/cc3a4210240607fb319e95ad3f5f5b7b9b16cdb8..1a14964592379a39d96bc84c53db779507d12415:/demo/src/Controlador/AfiliadoSolicitanteController.cs?ds=sidebyside diff --git a/demo/src/Controlador/AfiliadoSolicitanteController.cs b/demo/src/Controlador/AfiliadoSolicitanteController.cs index 8d40a91..86c3e36 100644 --- a/demo/src/Controlador/AfiliadoSolicitanteController.cs +++ b/demo/src/Controlador/AfiliadoSolicitanteController.cs @@ -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) @@ -76,8 +77,39 @@ public class AfiliadoSolicitanteController : Controller **/ return salida; } + + public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, int codplan) + { + /* 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"); + + 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); + /* Saco el solicitante */ + Db.delete (s); + return afil; + } + - public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, Plan plan) + 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); @@ -91,6 +123,10 @@ 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); @@ -224,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); + } + } }