3 using System.Collections;
7 using Controlador.Afiliacion;
8 using Dominio.Afiliados;
11 public class VAgregarAfiliado
14 [Widget] TreeView lista;
16 public VAgregarAfiliado ()
18 xml = new Glade.XML (null, "agregar_afiliado.glade", "agregar_afiliado", null);
19 xml.Autoconnect (this);
21 TreeStore store = new TreeStore (typeof(string), typeof(int), typeof (string), typeof (string));
25 lista.HeadersVisible = true;
26 lista.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
27 lista.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
28 lista.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
29 lista.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
34 private void CargarParaAfiliar ()
36 TreeStore store = (TreeStore)lista.Model;
38 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
39 afiliados = c.ObtenerSolicitantesAfiliar ();
42 foreach (Solicitante s in afiliados) {
43 TreeIter iter = store.AppendValues (s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido);
44 CargarFamiliaresDe (s, iter, c);
50 private void CargarFamiliaresDe (Solicitante spadre, TreeIter padre, AfiliadoSolicitanteController c)
52 TreeStore store = (TreeStore)lista.Model;
53 ArrayList familiares = c.ObtenerFamiliaresAfiliar (spadre);
55 foreach (Solicitante s in familiares) {
56 TreeIter iter = store.AppendValues (padre, s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido);
60 public void OnAfiliar (object o, EventArgs args)
64 TreeSelection sel = lista.Selection;
67 if (sel.GetSelected(out model, out iter) == true) {
68 ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true);
69 int nroDoc = (int)model.GetValue (iter, 1);
71 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
72 Afiliado a = c.ExisteAfiliado (tipoDoc, nroDoc);
75 Afiliar (model, iter, c);
77 Console.WriteLine ("Lo borro o lo reactivo!");
85 private void Afiliar (TreeModel model, TreeIter parent, AfiliadoSolicitanteController c)
87 ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (parent, 0), true);
88 int nroDoc = (int)model.GetValue (parent, 1);
91 VBuscarPlan v = new VBuscarPlan ();
92 string plan = v.Run ();
94 /* Afilio el titular */
95 Afiliado AfiTitular = c.AfiliarTitular (tipoDoc, nroDoc, Int32.Parse (plan));
96 Console.WriteLine ("Titular afiliado!! {0} {1}", tipoDoc, nroDoc);
98 /* Obtengo el primer familiar, si es que existe */
100 if (model.IterChildren (out iter, parent) == true) {
101 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true);
102 nroDoc = (int)model.GetValue (iter, 1);
104 Console.WriteLine ("Titular familiar!! {0} {1}", tipoDoc, nroDoc);
105 while (model.IterNext (ref iter) == true) {
106 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 0), true);
107 nroDoc = (int)model.GetValue (iter, 1);
109 Console.WriteLine ("Titular familiar!! {0} {1}", tipoDoc, nroDoc);
110 c.AfiliarFamiliar (AfiTitular, tipoDoc, nroDoc, null);
117 Dialog w = (Dialog)xml.GetWidget ("agregar_afiliado");