]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/BuscarPrestacion.cs
* Pedido de autorizacion manual completo con todos sus cuadros de busqueda.
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / BuscarPrestacion.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;
10
11 public class VBuscarPrestacion
12 {
13         Glade.XML xml;
14
15         ComboBox categoria;
16         TreeView lista;
17
18         string codigo_retorno = null;
19
20         public VBuscarPrestacion ()
21         {
22                 xml = new Glade.XML (null, "buscar_prestacion.glade", "buscar_prestacion", null);
23                 xml.Autoconnect (this);
24
25                 categoria = (ComboBox)xml.GetWidget ("categoria");
26                 lista = (TreeView)xml.GetWidget ("lista");
27
28                 lista.Model = new ListStore (typeof(string), typeof(string), typeof(string), typeof (string));
29
30                 /* Columnas */
31                 lista.HeadersVisible = true;
32                 lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0);
33                 lista.AppendColumn ("Nombre", new CellRendererText (), "text", 1);
34                 lista.AppendColumn ("Cagetoria", new CellRendererText (), "text", 2);
35                 lista.AppendColumn ("Fecha Baja", new CellRendererText (), "text", 3);
36
37                 /* Cargo las categorias */
38                 ListStore l = (ListStore)categoria.Model;
39                 l.Clear ();
40                 PrestacionesController c = new PrestacionesController ();
41
42                 ArrayList lst = c.Categorias ();
43                 foreach (Categoria p in lst) {
44                         l.AppendValues (String.Format ("{0}", p.Nombre));
45                 }
46                 c.Dispose ();
47         }
48
49         public void OnDialogResponse (object o, ResponseArgs args)
50         {
51                 if (args.ResponseId == ResponseType.Cancel)
52                         return; 
53
54                 /* Todo el seleccionado. TODO : abortar si no hay nada seleccionado! :) */
55
56                 TreeSelection fromSel = lista.Selection;
57                 TreeIter iter;
58                 TreeModel model;
59
60                 if (fromSel.GetSelected (out model, out iter)) {
61                         codigo_retorno = (string)model.GetValue (iter, 0);
62                 }
63         }
64
65         public void OnBuscar (object o, EventArgs args)
66         {
67                 TreeIter iter;
68                 categoria.GetActiveIter (out iter);
69                 
70                 PrestacionesController c = new PrestacionesController ();
71
72                 ArrayList lst = c.Prestaciones ((string)categoria.Model.GetValue (iter, 0));
73                 ListStore store = (ListStore)lista.Model;
74                 store.Clear ();
75                 foreach (Prestacion p in lst) {
76                         TreeIter i = store.Append ();
77                         store.SetValue (i, 0, p.Codigo);
78                         store.SetValue (i, 1, p.Nombre);
79                         store.SetValue (i, 2, (string)categoria.Model.GetValue (iter, 0));
80                         if (p._fechaBaja == DateTime.MinValue)
81                                 store.SetValue (i, 3, "Activo");
82                         else
83                                 store.SetValue (i, 3, p._fechaBaja.ToString ());
84                 }
85         
86                 c.Dispose ();
87         }
88
89         public string Run ()
90         {
91                 Dialog w = (Dialog)xml.GetWidget ("buscar_prestacion");
92                 w.Run ();
93                 w.Destroy ();
94
95                 return codigo_retorno;
96         }
97 }
98