4 using System.Collections;
8 using Controlador.Afiliacion;
9 using Dominio.Afiliados;
12 public class VEmitirHojaDeRuta
14 Dialog wIngresarSolicitud;
17 [Widget] ComboBox promotores;
18 [Widget] TreeView disponibles;
19 [Widget] TreeView hojaderuta;
21 public VEmitirHojaDeRuta ()
23 xml = new Glade.XML (null, "emitir_hoja_de_ruta.glade", "emitir_hoja_de_ruta", null);
24 xml.Autoconnect (this);
26 /* Creo los modelos para los TreeView y el ComboBox
27 Tipo Doc NroDoc Apellido Nombre */
28 disponibles.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
29 hojaderuta.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
32 disponibles.HeadersVisible = true;
33 disponibles.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
34 disponibles.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
35 disponibles.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
36 disponibles.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
37 hojaderuta.HeadersVisible = true;
38 hojaderuta.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
39 hojaderuta.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
40 hojaderuta.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
41 hojaderuta.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
43 xml.GetWidget ("emitir_hoja_de_ruta").SetSizeRequest (500, 420);
45 /* Cargo promotores */
46 ListStore l = (ListStore)promotores.Model;
48 for(int i=0; i<10; i++)
49 l.AppendValues (String.Format ("Promotor {0}", i));
52 public void OnDialogResponse (object o, ResponseArgs args)
54 if (args.ResponseId == ResponseType.Cancel)
57 /* Armo la hoja de ruta */
58 /* TODO : No tengo de donde sacarlo, creo uno pedorro para test */
61 /* Veo si hay items en la hoja de ruta */
62 ListStore store = (ListStore)hojaderuta.Model;
64 if (store.GetIterFirst (out iter) == false) {
65 /* Lista vacia! .. Alarm! Alarm! :) */
66 MessageDialog md = new MessageDialog (null, DialogFlags.DestroyWithParent,
67 MessageType.Error, ButtonsType.Close, "La hoja de ruta está vacía.");
74 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
76 ETipoDocumento tipoDoc;
78 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
79 nroDoc = (int)store.GetValue (iter, 1);
80 c.AsociarPromotor (tipoDoc, nroDoc, promotor);
82 while (store.IterNext (ref iter) == true) {
83 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
84 nroDoc = Int32.Parse ((string)store.GetValue (iter, 1));
85 c.AsociarPromotor (tipoDoc, nroDoc, promotor);
89 public void OnAgregarClicked (object o, EventArgs args)
91 /* Obtengo el TreeIter seleccionado de disponibles */
92 TreeSelection fromSel = disponibles.Selection;
96 if (fromSel.GetSelected (out model, out iter)) {
97 ListStore store1 = (ListStore)disponibles.Model;
98 ListStore store2 = (ListStore)hojaderuta.Model;
99 TreeIter nuevo = store2.Append ();
101 for(int i=0; i<4; i++)
102 store2.SetValue (nuevo, i, store1.GetValue (iter, i));
103 store1.Remove (ref iter);
107 public void OnBorrarClicked (object o, EventArgs args)
109 /* Obtengo el TreeIter seleccionado de disponibles */
110 TreeSelection fromSel = hojaderuta.Selection;
114 if (fromSel.GetSelected (out model, out iter)) {
115 ListStore store1 = (ListStore)hojaderuta.Model;
116 ListStore store2 = (ListStore)disponibles.Model;
117 TreeIter nuevo = store2.Append ();
119 for(int i=0; i<4; i++)
120 store2.SetValue (nuevo, i, store1.GetValue (iter, i));
121 store1.Remove (ref iter);
125 public void OnPromotorSelected (object o, EventArgs args)
127 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
129 ArrayList sols = c.ObtenerSolicitantesPendientes ();
130 ListStore store = (ListStore)disponibles.Model;
132 foreach (Solicitante s in sols) {
133 TreeIter iter = store.AppendValues (s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido);
134 Console.WriteLine ("-- {0}", s.Promotor);
140 Dialog w = (Dialog)xml.GetWidget ("emitir_hoja_de_ruta");