X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/8f612d071bb562db0e58163fc2078040a93e23cf..1c4cf971e3b30f540ddc8541ce0634737331edb5:/demo/src/Controlador/AfiliadoSolicitanteController.cs?ds=sidebyside diff --git a/demo/src/Controlador/AfiliadoSolicitanteController.cs b/demo/src/Controlador/AfiliadoSolicitanteController.cs index bb8eec2..8d22e4a 100644 --- a/demo/src/Controlador/AfiliadoSolicitanteController.cs +++ b/demo/src/Controlador/AfiliadoSolicitanteController.cs @@ -5,6 +5,7 @@ using Dominio.Afiliados; using Dominio.Planes; using Dominio; using com.db4o; +using com.db4o.query; using System; using System.Collections; @@ -19,18 +20,41 @@ public class AfiliadoSolicitanteController : Controller } - public ArrayList obtenerSolicitantesAfiliar () + public ArrayList ObtenerSolicitantesAfiliar () { - return _solicitantes; + Query query = Db.query(); + query.constrain(typeof(Solicitante)); + query.descend("_promotor").constrain(null); + query.descend("_pendiente").constrain(false); + query.descend("_titular").constrain(null); + + ObjectSet result = query.execute(); + ArrayList lst = ObjectSetToArrayList (result); + + return lst; } - public bool ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc) + public ArrayList ObtenerFamiliaresAfiliar (Solicitante s) { - foreach (Afiliado afil in _afiliados) { - if ((afil.TipoDocumento == tipoDoc) && (afil.NroDocumento == nroDoc)) - return true; - } - return false; + Query query = Db.query(); + query.constrain(typeof(Solicitante)); + query.descend("_promotor").constrain(null); + query.descend("_pendiente").constrain(false); + query.descend("_titular").constrain(s); + + ObjectSet result = query.execute(); + ArrayList lst = ObjectSetToArrayList (result); + + return lst; + } + + public Afiliado ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc) + { + Afiliado afil = new Afiliado (tipoDoc, nroDoc); + ObjectSet result = Db.get (afil); + afil = (Afiliado)result.next (); + + return afil; } public bool ExisteAfiliado (int codigo) @@ -52,14 +76,51 @@ public class AfiliadoSolicitanteController : Controller **/ return salida; } + + public Afiliado AfiliarTitular (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); + + /* Agrego el afiliado */ + Db.set (afil); + /* Saco el solicitante */ + Db.delete (s); + return afil; + } + - public bool afiliarTitular (ETipoDocumento tipoDoc, int nroDo, Plan plan) + public Afiliado AfiliarFamiliar (Afiliado AfiTi, ETipoDocumento tipoDoc, int nroDoc, 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); + afil.Titular = AfiTi; + + /* Agrego el afiliado */ + Db.set (afil); + /* Saco el solicitante */ + Db.delete (s); + return afil; } public ArrayList Buscar (ETipoDocumento tipoDoc, int nroDoc) @@ -104,6 +165,7 @@ public class AfiliadoSolicitanteController : Controller s.Familiares = cantidadfamiliares; s.Observaciones = observaciones; s.Pendiente = true; + s.Promotor = null; /* La direccion */ SDireccion d = new SDireccion (); @@ -129,7 +191,7 @@ public class AfiliadoSolicitanteController : Controller return true; } - private bool SaveSolicitante (Solicitante s) + public bool SaveSolicitante (Solicitante s) { try { //do something with db4o @@ -178,6 +240,7 @@ public class AfiliadoSolicitanteController : Controller Promotor p = new Promotor (ETipoDocumento.DNI, 12345678, "123", "123"); s.Promotor = p; + s.Pendiente = false; SaveSolicitante (s); } catch (Exception e) {