4 using System.Collections;
9 using Controlador.Afiliacion;
10 using Dominio.Afiliados;
13 public class VEmitirHojaDeRuta
15 Dialog wIngresarSolicitud;
18 [Widget] ComboBox promotores;
19 [Widget] TreeView disponibles;
20 [Widget] TreeView hojaderuta;
22 public VEmitirHojaDeRuta ()
24 xml = new Glade.XML (null, "emitir_hoja_de_ruta.glade", "emitir_hoja_de_ruta", null);
25 xml.Autoconnect (this);
27 /* Creo los modelos para los TreeView y el ComboBox
28 Tipo Doc NroDoc Apellido Nombre */
29 disponibles.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
30 hojaderuta.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
33 disponibles.HeadersVisible = true;
34 disponibles.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
35 disponibles.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
36 disponibles.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
37 disponibles.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
38 hojaderuta.HeadersVisible = true;
39 hojaderuta.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
40 hojaderuta.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
41 hojaderuta.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
42 hojaderuta.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
44 xml.GetWidget ("emitir_hoja_de_ruta").SetSizeRequest (500, 420);
46 /* Cargo promotores */
47 ListStore l = (ListStore)promotores.Model;
49 for(int i=0; i<10; i++)
50 l.AppendValues (String.Format ("Promotor {0}", i));
53 public void OnDialogResponse (object o, ResponseArgs args)
55 if (args.ResponseId == ResponseType.Cancel)
58 /* Armo la hoja de ruta */
59 /* TODO : No tengo de donde sacarlo, creo uno pedorro para test */
62 /* Veo si hay items en la hoja de ruta */
63 ListStore store = (ListStore)hojaderuta.Model;
65 if (store.GetIterFirst (out iter) == false) {
66 /* Lista vacia! .. Alarm! Alarm! :) */
67 MessageDialog md = new MessageDialog (null, DialogFlags.DestroyWithParent,
68 MessageType.Error, ButtonsType.Close, "La hoja de ruta está vacía.");
75 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
77 ETipoDocumento tipoDoc;
79 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
80 nroDoc = (int)store.GetValue (iter, 1);
81 c.AsociarPromotor (tipoDoc, nroDoc, promotor);
83 while (store.IterNext (ref iter) == true) {
84 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
85 nroDoc = Int32.Parse ((string)store.GetValue (iter, 1));
86 c.AsociarPromotor (tipoDoc, nroDoc, promotor);
92 public void OnAgregarClicked (object o, EventArgs args)
94 /* Obtengo el TreeIter seleccionado de disponibles */
95 TreeSelection fromSel = disponibles.Selection;
99 if (fromSel.GetSelected (out model, out iter)) {
100 ListStore store1 = (ListStore)disponibles.Model;
101 ListStore store2 = (ListStore)hojaderuta.Model;
102 TreeIter nuevo = store2.Append ();
104 for(int i=0; i<4; i++)
105 store2.SetValue (nuevo, i, store1.GetValue (iter, i));
106 store1.Remove (ref iter);
110 public void OnBorrarClicked (object o, EventArgs args)
112 /* Obtengo el TreeIter seleccionado de disponibles */
113 TreeSelection fromSel = hojaderuta.Selection;
117 if (fromSel.GetSelected (out model, out iter)) {
118 ListStore store1 = (ListStore)hojaderuta.Model;
119 ListStore store2 = (ListStore)disponibles.Model;
120 TreeIter nuevo = store2.Append ();
122 for(int i=0; i<4; i++)
123 store2.SetValue (nuevo, i, store1.GetValue (iter, i));
124 store1.Remove (ref iter);
128 public void OnPromotorSelected (object o, EventArgs args)
130 RutasController c = new RutasController ();
132 ArrayList sols = c.ObtenerSolicitantesPendientes ();
133 ListStore store = (ListStore)disponibles.Model;
135 foreach (Solicitante s in sols) {
136 TreeIter iter = store.AppendValues (s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido);
137 Console.WriteLine ("-- {0}", s.Promotor);
145 Dialog w = (Dialog)xml.GetWidget ("emitir_hoja_de_ruta");