From: Ricardo Markiewicz Date: Tue, 5 Jul 2005 05:14:29 +0000 (+0000) Subject: * 99% done, unos pequeños ajusten faltan X-Git-Tag: svn_import~60 X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/commitdiff_plain/f6a9d59815a6148640f80b50888aeff9d59de21e?ds=inline * 99% done, unos pequeños ajusten faltan --- diff --git a/demo/src/Controlador/AfiliadoSolicitanteController.cs b/demo/src/Controlador/AfiliadoSolicitanteController.cs index 8d40a91..8d22e4a 100644 --- a/demo/src/Controlador/AfiliadoSolicitanteController.cs +++ b/demo/src/Controlador/AfiliadoSolicitanteController.cs @@ -76,7 +76,7 @@ public class AfiliadoSolicitanteController : Controller **/ return salida; } - + public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, Plan plan) { /* Obtengo el Solicitante asi luego lo borro */ @@ -99,6 +99,30 @@ public class AfiliadoSolicitanteController : Controller return afil; } + + 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); + 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) { ArrayList salida = new ArrayList (); diff --git a/demo/src/Vistas/AgregarAfiliado.cs b/demo/src/Vistas/AgregarAfiliado.cs index 5d39c34..866a334 100644 --- a/demo/src/Vistas/AgregarAfiliado.cs +++ b/demo/src/Vistas/AgregarAfiliado.cs @@ -62,20 +62,16 @@ public class VAgregarAfiliado TreeModel model; TreeSelection sel = lista.Selection; - TreePath[] rows = sel.GetSelectedRows (out model); - if (rows != null) { - model.GetIter (out iter, rows[0]); + if (sel.GetSelected(out model, out iter) == true) { ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true); int nroDoc = (int)model.GetValue (iter, 1); - Console.WriteLine ("{0} {1}", tipoDoc, nroDoc); - AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); Afiliado a = c.ExisteAfiliado (tipoDoc, nroDoc); if (a == null) { - Console.WriteLine ("Afiliando"); + Afiliar (model, iter, c); } else { Console.WriteLine ("Lo borro o lo reactivo!"); } @@ -84,8 +80,30 @@ public class VAgregarAfiliado } } - private void Afiliar (TreeModel model, TreePath path) + private void Afiliar (TreeModel model, TreeIter parent, AfiliadoSolicitanteController c) { + ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (parent, 0), true); + int nroDoc = (int)model.GetValue (parent, 1); + + /* Afilio el titular */ + Afiliado AfiTitular = c.AfiliarTitular (tipoDoc, nroDoc, null); + Console.WriteLine ("Titular afiliado!! {0} {1}", tipoDoc, nroDoc); + + /* Obtengo el primer familiar, si es que existe */ + TreeIter iter; + if (model.IterChildren (out iter, parent) == true) { + tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true); + nroDoc = (int)model.GetValue (iter, 1); + + Console.WriteLine ("Titular familiar!! {0} {1}", tipoDoc, nroDoc); + while (model.IterNext (ref iter) == true) { + tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true); + nroDoc = (int)model.GetValue (iter, 1); + + Console.WriteLine ("Titular familiar!! {0} {1}", tipoDoc, nroDoc); + c.AfiliarFamiliar (AfiTitular, tipoDoc, nroDoc, null); + } + } } public void Run ()