]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/BuscarPrestacion.cs
mas fixes y puesta linda
[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                 if (categoria.GetActiveIter (out iter) == false)
69                         return;
70                 
71                 PrestacionesController c = new PrestacionesController ();
72
73                 ArrayList lst = c.Prestaciones ((string)categoria.Model.GetValue (iter, 0));
74                 ListStore store = (ListStore)lista.Model;
75                 store.Clear ();
76                 foreach (Prestacion p in lst) {
77                         TreeIter i = store.Append ();
78                         store.SetValue (i, 0, p.Codigo);
79                         store.SetValue (i, 1, p.Nombre);
80                         store.SetValue (i, 2, (string)categoria.Model.GetValue (iter, 0));
81                         if (p._fechaBaja == DateTime.MinValue)
82                                 store.SetValue (i, 3, "Activo");
83                         else
84                                 store.SetValue (i, 3, p._fechaBaja.ToString ());
85                 }
86         
87                 c.Dispose ();
88         }
89
90         public string Run ()
91         {
92                 Dialog w = (Dialog)xml.GetWidget ("buscar_prestacion");
93                 w.Run ();
94                 w.Destroy ();
95
96                 return codigo_retorno;
97         }
98 }
99