From e2ea075934b8540c2b9fc9237a348071105080b5 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Tue, 5 Jul 2005 04:39:22 +0000 Subject: [PATCH] * Ahi ya va queriendo, ya se afilia el titular --- .../AfiliadoSolicitanteController.cs | 36 ++++++++++++------- demo/src/Dominio/Afiliado.cs | 4 +++ demo/src/Vistas/AgregarAfiliado.cs | 23 +++++++++++- 3 files changed, 50 insertions(+), 13 deletions(-) diff --git a/demo/src/Controlador/AfiliadoSolicitanteController.cs b/demo/src/Controlador/AfiliadoSolicitanteController.cs index 00a2bcb..77c3227 100644 --- a/demo/src/Controlador/AfiliadoSolicitanteController.cs +++ b/demo/src/Controlador/AfiliadoSolicitanteController.cs @@ -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) diff --git a/demo/src/Dominio/Afiliado.cs b/demo/src/Dominio/Afiliado.cs index ad3b130..f943cee 100644 --- a/demo/src/Dominio/Afiliado.cs +++ b/demo/src/Dominio/Afiliado.cs @@ -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; diff --git a/demo/src/Vistas/AgregarAfiliado.cs b/demo/src/Vistas/AgregarAfiliado.cs index 717449a..3452e3b 100644 --- a/demo/src/Vistas/AgregarAfiliado.cs +++ b/demo/src/Vistas/AgregarAfiliado.cs @@ -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 () -- 2.43.0