]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Vistas/BuscarPrestacion.cs
ahi va la 1era version de AUtorizacion controller... le falta bastanton :P
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / BuscarPrestacion.cs
index c9087520af1b41f3eacd40d0230cf74e47cd59e9..60cf548961e3aa424e79e6dd94c6a345ab700f6d 100644 (file)
@@ -15,6 +15,8 @@ public class VBuscarPrestacion
        ComboBox categoria;
        TreeView lista;
 
+       string codigo_retorno = null;
+
        public VBuscarPrestacion ()
        {
                xml = new Glade.XML (null, "buscar_prestacion.glade", "buscar_prestacion", null);
@@ -23,7 +25,7 @@ public class VBuscarPrestacion
                categoria = (ComboBox)xml.GetWidget ("categoria");
                lista = (TreeView)xml.GetWidget ("lista");
 
-               lista.Model = new ListStore (typeof(string), typeof(string), typeof(string), typeof (DateTime));
+               lista.Model = new ListStore (typeof(string), typeof(string), typeof(string), typeof (string));
 
                /* Columnas */
                lista.HeadersVisible = true;
@@ -48,18 +50,49 @@ public class VBuscarPrestacion
        {
                if (args.ResponseId == ResponseType.Cancel)
                        return; 
+
+               /* Todo el seleccionado. TODO : abortar si no hay nada seleccionado! :) */
+
+               TreeSelection fromSel = lista.Selection;
+               TreeIter iter;
+               TreeModel model;
+
+               if (fromSel.GetSelected (out model, out iter)) {
+                       codigo_retorno = (string)model.GetValue (iter, 0);
+               }
        }
 
        public void OnBuscar (object o, EventArgs args)
        {
+               TreeIter iter;
+               categoria.GetActiveIter (out iter);
+               
+               PrestacionesController c = new PrestacionesController ();
 
+               ArrayList lst = c.Prestaciones ((string)categoria.Model.GetValue (iter, 0));
+               ListStore store = (ListStore)lista.Model;
+               store.Clear ();
+               foreach (Prestacion p in lst) {
+                       TreeIter i = store.Append ();
+                       store.SetValue (i, 0, p.Codigo);
+                       store.SetValue (i, 1, p.Nombre);
+                       store.SetValue (i, 2, (string)categoria.Model.GetValue (iter, 0));
+                       if (p._fechaBaja == DateTime.MinValue)
+                               store.SetValue (i, 3, "Activo");
+                       else
+                               store.SetValue (i, 3, p._fechaBaja.ToString ());
+               }
+       
+               c.Dispose ();
        }
 
-       public void Run ()
+       public string Run ()
        {
                Dialog w = (Dialog)xml.GetWidget ("buscar_prestacion");
                w.Run ();
                w.Destroy ();
+
+               return codigo_retorno;
        }
 }