]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/ConsultarAfiliado.cs
* dialogo chancho y feo feo para guille :P
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / ConsultarAfiliado.cs
1
2 using System;
3 using System.Collections;
4 using Gtk;
5 using Glade;
6
7 using Controlador.Afiliacion;
8 using Dominio.Autorizaciones;
9 using Dominio.Planes;
10 using Dominio.Afiliados;
11 using Dominio;
12
13 public class VConsultarAfiliado
14 {
15         Glade.XML xml;
16
17         [Widget] TreeView lista;
18
19         /* Busqueda */
20         [Widget] ComboBox s_tipoDocumento;
21         [Widget] Entry s_nroDocument;
22         [Widget] Entry s_apellido;
23         [Widget] Entry s_codigo;
24
25         /* Campos de datos */
26         [Widget] Entry documento;
27         [Widget] Entry nombre;
28         [Widget] Entry apellido;
29         [Widget] Entry email;
30         [Widget] RadioButton sexom;
31         [Widget] RadioButton sexof;
32         [Widget] Entry fechaNac;
33         [Widget] Entry calle;
34         [Widget] Entry numero;
35         [Widget] Entry piso;
36         [Widget] Entry dpto;
37         [Widget] Entry provincia;
38         [Widget] Entry codigopostal;
39         [Widget] Entry telefono;
40         [Widget] Entry deuda;
41         [Widget] Entry codigo;
42
43         public VConsultarAfiliado ()
44         {
45                 xml = new Glade.XML (null, "consultar_afiliado.glade", "consultar_afiliado", null);
46                 xml.Autoconnect (this);
47
48                 lista.Model = new ListStore (typeof(int), typeof(string), typeof(int), typeof (string), typeof(string));
49
50                 /* Columnas */
51                 lista.HeadersVisible = true;
52                 lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0);
53                 lista.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 1);
54                 lista.AppendColumn ("Número Doc.", new CellRendererText (), "text", 2);
55                 lista.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
56                 lista.AppendColumn ("Apellido", new CellRendererText (), "text", 4);
57         }
58
59         public void OnVerAfiliado (object o, EventArgs args)
60         {
61                 TreeIter iter;
62                 TreeModel model; 
63                 TreeSelection sel = lista.Selection;
64
65                 
66                 if (sel.GetSelected(out model, out iter) == true) {
67                         ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 1), true);
68                         int nroDoc = (int)model.GetValue (iter, 0);
69
70                         AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
71                         Afiliado a = c.ExisteAfiliado (nroDoc);
72
73                         Console.WriteLine ("{0}",nroDoc);
74                         Console.WriteLine (a);
75                         documento.Text = String.Format ("{0} {1}", a.TipoDocumento.ToString(), a.NroDocumento);
76                         nombre.Text = a.Nombre;
77                         apellido.Text = a.Apellido;
78                         codigo.Text = String.Format ("{0}", a.Codigo);
79                         email.Text = a.EMail;
80                         fechaNac.Text = a.FechaNacimiento.ToString ();
81                         calle.Text = a.Direccion.Calle;
82                         numero.Text = String.Format ("{0}", a.Direccion.Numero);
83                         piso.Text = String.Format ("{0}", a.Direccion.Piso);
84                         dpto.Text = String.Format ("{0}", a.Direccion.Departamento);
85                         provincia.Text = a.Direccion.Provincia.ToString ();
86                         codigopostal.Text = a.Direccion.CodigoPostal;
87                         if (a.Moroso == 0)
88                                 deuda.Text = "El Afiliado está al día con la cuota";
89                         else
90                                 deuda.Text = String.Format ("El Afiliado debe {0} meses");
91
92                         c.Dispose ();
93                 }
94         }
95
96         public void OnBuscarAfiliado (object o, EventArgs args)
97         {
98                 ETipoDocumento tipoDoc;
99                 try {
100                         TreeIter iter;
101                         s_tipoDocumento.GetActiveIter (out iter);
102                         tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)s_tipoDocumento.Model.GetValue (iter, 0), true);
103                 } catch (Exception e) {
104                         tipoDoc = ETipoDocumento.NONE;
105                 }
106                 int nroDoc;
107                 try {
108                         nroDoc  = Int32.Parse (s_nroDocument.Text);
109                 } catch (Exception e) {
110                         nroDoc = 0;
111                 }
112                 int cod;
113                 try {
114                         cod     = Int32.Parse (s_codigo.Text);
115                 } catch (Exception e) {
116                         cod = 0;
117                 }
118                 
119                 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); 
120                 ListStore store = (ListStore)lista.Model;
121                 store.Clear ();
122                 ArrayList lst = c.BuscarAfiliados (tipoDoc, nroDoc, cod, null);
123                 foreach (Afiliado p in lst) {
124                         TreeIter i = store.Append ();
125                         store.SetValue (i, 0, p.Codigo);
126                         store.SetValue (i, 1, p.TipoDocumento.ToString ());
127                         store.SetValue (i, 2, p.NroDocumento);
128                         store.SetValue (i, 3, p.Nombre);
129                         store.SetValue (i, 4, p.Apellido);
130                 }
131         
132                 c.Dispose ();
133         }
134
135         public void Run ()
136         {
137                 Dialog w = (Dialog)xml.GetWidget ("consultar_afiliado");
138                 w.Run ();
139                 w.Destroy ();
140         }
141 }
142