]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/BuscarAfiliado.cs
(no commit message)
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / BuscarAfiliado.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 VBuscarAfiliado
14 {
15         Glade.XML xml;
16         string retorno = null;
17
18
19         [Widget] TreeView lista;
20
21         /* Busqueda */
22         [Widget] ComboBox s_tipoDocumento;
23         [Widget] Entry s_nroDocument;
24         [Widget] Entry s_apellido;
25         [Widget] Entry s_codigo;
26
27         public VBuscarAfiliado ()
28         {
29                 xml = new Glade.XML (null, "buscar_afiliado.glade", "buscar_afiliado", null);
30                 xml.Autoconnect (this);
31
32                 lista.Model = new ListStore (typeof(int), typeof(string), typeof(int), typeof (string), typeof(string));
33
34                 /* Columnas */
35                 lista.HeadersVisible = true;
36                 lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0);
37                 lista.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 1);
38                 lista.AppendColumn ("Número Doc.", new CellRendererText (), "text", 2);
39                 lista.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
40                 lista.AppendColumn ("Apellido", new CellRendererText (), "text", 4);
41         }
42
43         public void OnBuscarAfiliado (object o, EventArgs args)
44         {
45                 ETipoDocumento tipoDoc;
46                 try {
47                         TreeIter iter;
48                         s_tipoDocumento.GetActiveIter (out iter);
49                         tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)s_tipoDocumento.Model.GetValue (iter, 0), true);
50                 } catch (Exception e) {
51                         tipoDoc = ETipoDocumento.NONE;
52                 }
53                 int nroDoc;
54                 try {
55                         nroDoc  = Int32.Parse (s_nroDocument.Text);
56                 } catch (Exception e) {
57                         nroDoc = 0;
58                 }
59                 int cod;
60                 try {
61                         cod     = Int32.Parse (s_codigo.Text);
62                 } catch (Exception e) {
63                         cod = 0;
64                 }
65                 
66                 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); 
67                 ListStore store = (ListStore)lista.Model;
68                 store.Clear ();
69                 ArrayList lst = c.BuscarAfiliados (tipoDoc, nroDoc, cod, null);
70                 foreach (Afiliado p in lst) {
71                         TreeIter i = store.Append ();
72                         store.SetValue (i, 0, p.Codigo);
73                         store.SetValue (i, 1, p.TipoDocumento.ToString ());
74                         store.SetValue (i, 2, p.NroDocumento);
75                         store.SetValue (i, 3, p.Nombre);
76                         store.SetValue (i, 4, p.Apellido);
77                 }
78         
79                 c.Dispose ();
80         }
81
82         public void OnDialogResponse (object o, ResponseArgs args)
83         {
84                 if (args.ResponseId == ResponseType.Cancel)
85                         return; 
86
87                 /* Todo el seleccionado. TODO : abortar si no hay nada seleccionado! :) */
88
89                 TreeSelection fromSel = lista.Selection;
90                 TreeIter iter;
91                 TreeModel model;
92
93                 if (fromSel.GetSelected (out model, out iter)) {
94                         retorno = String.Format ("{0}", (int)model.GetValue (iter, 0));
95                 }
96         }
97
98         public string Run ()
99         {
100                 Dialog w = (Dialog)xml.GetWidget ("buscar_afiliado");
101                 w.Run ();
102                 w.Destroy ();
103
104                 return retorno;
105         }
106 }
107