]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/ConsultarAfiliado.cs
Agrego material de estudio.
[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 TreeModelSort (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                 int i = 0;
59                 foreach (TreeViewColumn col in lista.Columns) {
60                         col.SortColumnId = i++;
61                 }
62                 lista.EnableSearch = true;
63                 lista.Reorderable = true;
64                 lista.HeadersClickable = true;
65         }
66
67         public void OnVerAfiliado (object o, EventArgs args)
68         {
69                 TreeIter iter;
70                 TreeModel model; 
71                 TreeSelection sel = lista.Selection;
72
73                 
74                 if (sel.GetSelected(out model, out iter) == true) {
75                         ETipoDocumento tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)model.GetValue (iter, 1), true);
76                         int nroDoc = (int)model.GetValue (iter, 0);
77
78                         AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
79                         Afiliado a = c.ExisteAfiliado (nroDoc);
80
81                         Console.WriteLine ("{0}",nroDoc);
82                         Console.WriteLine (a);
83                         documento.Text = String.Format ("{0} {1}", a.TipoDocumento.ToString(), a.NroDocumento);
84                         nombre.Text = a.Nombre;
85                         apellido.Text = a.Apellido;
86                         codigo.Text = String.Format ("{0}", a.Codigo);
87                         email.Text = a.EMail;
88                         fechaNac.Text = a.FechaNacimiento.ToLongDateString ();
89                         calle.Text = a.Direccion.Calle;
90                         numero.Text = String.Format ("{0}", a.Direccion.Numero);
91                         piso.Text = String.Format ("{0}", a.Direccion.Piso);
92                         dpto.Text = String.Format ("{0}", a.Direccion.Departamento);
93                         provincia.Text = a.Direccion.Provincia.ToString ();
94                         codigopostal.Text = a.Direccion.CodigoPostal;
95                         if (a.Moroso == 0)
96                                 deuda.Text = "El Afiliado está al día con la cuota";
97                         else
98                                 deuda.Text = String.Format ("El Afiliado debe {0} meses");
99
100                         c.Dispose ();
101                 }
102         }
103
104         public void OnBuscarAfiliado (object o, EventArgs args)
105         {
106                 ETipoDocumento tipoDoc;
107                 try {
108                         TreeIter iter;
109                         s_tipoDocumento.GetActiveIter (out iter);
110                         tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)s_tipoDocumento.Model.GetValue (iter, 0), true);
111                 } catch (Exception e) {
112                         tipoDoc = ETipoDocumento.NONE;
113                 }
114                 int nroDoc;
115                 try {
116                         nroDoc  = Int32.Parse (s_nroDocument.Text);
117                 } catch (Exception e) {
118                         nroDoc = 0;
119                 }
120                 int cod;
121                 try {
122                         cod     = Int32.Parse (s_codigo.Text);
123                 } catch (Exception e) {
124                         cod = 0;
125                 }
126                 
127                 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); 
128                 ListStore store = (lista.Model as TreeModelSort).Model as ListStore;
129                 store.Clear ();
130                 ArrayList lst = c.BuscarAfiliados (tipoDoc, nroDoc, cod, null);
131                 foreach (Afiliado p in lst) {
132                         TreeIter i = store.Append ();
133                         store.SetValue (i, 0, p.Codigo);
134                         store.SetValue (i, 1, p.TipoDocumento.ToString ());
135                         store.SetValue (i, 2, p.NroDocumento);
136                         store.SetValue (i, 3, p.Nombre);
137                         store.SetValue (i, 4, p.Apellido);
138                 }
139         
140                 c.Dispose ();
141         }
142
143         public void Run ()
144         {
145                 Dialog w = (Dialog)xml.GetWidget ("consultar_afiliado");
146                 w.Run ();
147                 w.Destroy ();
148         }
149 }
150