using System; using System.Collections; using Gtk; using Glade; using Controlador.Afiliacion; using Dominio.Autorizaciones; using Dominio.Planes; using Dominio.Afiliados; using Dominio; public class VConsultarAfiliado { Glade.XML xml; [Widget] TreeView lista; /* Busqueda */ [Widget] ComboBox s_tipoDocumento; [Widget] Entry s_nroDocument; [Widget] Entry s_apellido; [Widget] Entry s_codigo; /* Campos de datos */ [Widget] Entry documento; [Widget] Entry nombre; [Widget] Entry apellido; [Widget] Entry email; [Widget] RadioButton sexom; [Widget] RadioButton sexof; [Widget] Entry fechaNac; [Widget] Entry calle; [Widget] Entry numero; [Widget] Entry piso; [Widget] Entry dpto; [Widget] Entry provincia; [Widget] Entry codigopostal; [Widget] Entry telefono; [Widget] Entry deuda; [Widget] Entry codigo; public VConsultarAfiliado () { xml = new Glade.XML (null, "consultar_afiliado.glade", "consultar_afiliado", null); xml.Autoconnect (this); lista.Model = new TreeModelSort (new ListStore (typeof(int), typeof(string), typeof(int), typeof (string), typeof(string))); /* Columnas */ lista.HeadersVisible = true; lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0); lista.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 1); lista.AppendColumn ("Número Doc.", new CellRendererText (), "text", 2); lista.AppendColumn ("Nombre", new CellRendererText (), "text", 3); lista.AppendColumn ("Apellido", new CellRendererText (), "text", 4); int i = 0; foreach (TreeViewColumn col in lista.Columns) { col.SortColumnId = i++; } lista.EnableSearch = true; lista.Reorderable = true; lista.HeadersClickable = true; } public void OnVerAfiliado (object o, EventArgs args) { TreeIter iter; TreeModel model; TreeSelection sel = lista.Selection; if (sel.GetSelected(out model, out iter) == true) { ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 1), true); int nroDoc = (int)model.GetValue (iter, 0); AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); Afiliado a = c.ExisteAfiliado (nroDoc); Console.WriteLine ("{0}",nroDoc); Console.WriteLine (a); documento.Text = String.Format ("{0} {1}", a.TipoDocumento.ToString(), a.NroDocumento); nombre.Text = a.Nombre; apellido.Text = a.Apellido; codigo.Text = String.Format ("{0}", a.Codigo); email.Text = a.EMail; fechaNac.Text = a.FechaNacimiento.ToLongDateString (); calle.Text = a.Direccion.Calle; numero.Text = String.Format ("{0}", a.Direccion.Numero); piso.Text = String.Format ("{0}", a.Direccion.Piso); dpto.Text = String.Format ("{0}", a.Direccion.Departamento); provincia.Text = a.Direccion.Provincia.ToString (); codigopostal.Text = a.Direccion.CodigoPostal; if (a.Moroso == 0) deuda.Text = "El Afiliado está al día con la cuota"; else deuda.Text = String.Format ("El Afiliado debe {0} meses"); c.Dispose (); } } public void OnBuscarAfiliado (object o, EventArgs args) { ETipoDocumento tipoDoc; try { TreeIter iter; s_tipoDocumento.GetActiveIter (out iter); tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)s_tipoDocumento.Model.GetValue (iter, 0), true); } catch (Exception e) { tipoDoc = ETipoDocumento.NONE; } int nroDoc; try { nroDoc = Int32.Parse (s_nroDocument.Text); } catch (Exception e) { nroDoc = 0; } int cod; try { cod = Int32.Parse (s_codigo.Text); } catch (Exception e) { cod = 0; } AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); ListStore store = (lista.Model as TreeModelSort).Model as ListStore; store.Clear (); ArrayList lst = c.BuscarAfiliados (tipoDoc, nroDoc, cod, null); foreach (Afiliado p in lst) { TreeIter i = store.Append (); store.SetValue (i, 0, p.Codigo); store.SetValue (i, 1, p.TipoDocumento.ToString ()); store.SetValue (i, 2, p.NroDocumento); store.SetValue (i, 3, p.Nombre); store.SetValue (i, 4, p.Apellido); } c.Dispose (); } public void Run () { Dialog w = (Dialog)xml.GetWidget ("consultar_afiliado"); w.Run (); w.Destroy (); } }