]> git.llucax.com Git - z.facultad/75.10/miklolife.git/commitdiff
* RegistrarVisitas (vista y controler a medias)
authorRicardo Markiewicz <gazer.arg@gmail.com>
Thu, 16 Jun 2005 02:51:27 +0000 (02:51 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Thu, 16 Jun 2005 02:51:27 +0000 (02:51 +0000)
 * Hasta ahora el circuito se cierra
   - Se carga el solicitante
 - Se arma la hoja de ruta a 1 promotor (harcodeado)
 - El promotor (supoer-hardoded) entra y puede marcar
  como no visitado alguno de los items

demo/glade/main.glade
demo/glade/registrar_visitas.glade
demo/src/Controlador/RegistrarVisitasController.cs [new file with mode: 0644]
demo/src/Main.cs
demo/src/Vistas/VRegistrarVisitas.cs [new file with mode: 0644]

index cb5c3d8f63836eabe0f821fd114faff54ec1259c..14aa4b36d94f6aa57e0b270833e60dd470923642 100644 (file)
@@ -117,6 +117,24 @@ Solicitud</property>
            </packing>
          </child>
 
+         <child>
+           <widget class="GtkToolButton" id="toolbutton5">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">Registrar
+  Visitas</property>
+             <property name="use_underline">True</property>
+             <property name="stock_id">gtk-open</property>
+             <property name="visible_horizontal">True</property>
+             <property name="visible_vertical">True</property>
+             <property name="is_important">False</property>
+             <signal name="clicked" handler="OnRegistrarVisitas" last_modification_time="Thu, 16 Jun 2005 02:29:25 GMT"/>
+           </widget>
+           <packing>
+             <property name="expand">False</property>
+             <property name="homogeneous">True</property>
+           </packing>
+         </child>
+
          <child>
            <widget class="GtkToolButton" id="toolbutton3">
              <property name="visible">True</property>
index ae21641c4df3e828e53fb8f6c4629d4145b8bac2..4def3451bf4b83880d68ac240d1acf167bff2881 100644 (file)
@@ -4,6 +4,8 @@
 <glade-interface>
 
 <widget class="GtkDialog" id="registrar_visitas">
+  <property name="width_request">420</property>
+  <property name="height_request">500</property>
   <property name="visible">True</property>
   <property name="title" translatable="yes">Registrar Visitas</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
@@ -52,7 +54,7 @@
 
       <child>
        <widget class="GtkVBox" id="vbox3">
-         <property name="border_width">8</property>
+         <property name="border_width">12</property>
          <property name="visible">True</property>
          <property name="homogeneous">False</property>
          <property name="spacing">0</property>
@@ -67,7 +69,7 @@
              <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
              <child>
-               <widget class="GtkTreeView" id="treeview1">
+               <widget class="GtkTreeView" id="visitas">
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="headers_visible">True</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="focus_on_click">True</property>
+                 <signal name="clicked" handler="OnEstablecerPendiente" last_modification_time="Thu, 16 Jun 2005 02:38:13 GMT"/>
                </widget>
              </child>
 
diff --git a/demo/src/Controlador/RegistrarVisitasController.cs b/demo/src/Controlador/RegistrarVisitasController.cs
new file mode 100644 (file)
index 0000000..2e087df
--- /dev/null
@@ -0,0 +1,47 @@
+
+namespace Controlador {
+namespace Afiliacion {
+
+using Dominio.Afiliados;
+using Dominio.Planes;
+using Dominio;
+using com.db4o;
+
+using System;
+using System.Collections;
+
+public class RegistrarVisitasController : Controller 
+{
+       private Promotor _promotor;
+
+       public RegistrarVisitasController (Promotor p):base ()
+       {
+               //_promotor = p;
+               Promotor a = new Promotor (ETipoDocumento.DNI, 12345678, null, null);
+               ObjectSet result = Db.get (a);
+               _promotor = (Promotor)result.next ();
+       }
+
+       public ArrayList ObtenerSolicitantesAsignados ()
+       {
+               Solicitante s = new Solicitante (0, 0, null, null);
+               s.Promotor = _promotor;
+
+               ObjectSet result = Db.get (s);
+               return ObjectSetToArrayList (result);
+       }
+
+       public void EstablecerPendiente (ETipoDocumento tipoDoc, int nroDoc)
+       {
+               /* Obtengo el solicitante */
+               Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
+               ObjectSet result = Db.get (s);
+               s = (Solicitante)result.next ();
+               s.Promotor = null;
+               Db.set (s);
+       }
+}
+
+}
+}
+
index 56637c56585f6f53e0d22d210db6bd23fdd9321e..af31ee871fbfd440a6c14ba2e08b3b490f906c4a 100644 (file)
@@ -50,6 +50,12 @@ public class App
                v.Run ();
        }
 
+       public void OnRegistrarVisitas (object o, EventArgs args)
+       {
+               VRegistrarVisitas v = new VRegistrarVisitas ();
+               v.Run ();
+       }
+
        public void OnConsultarAfiliadoClose (object o, EventArgs args)
        {
                wConsultarAfiliado.Destroy ();
diff --git a/demo/src/Vistas/VRegistrarVisitas.cs b/demo/src/Vistas/VRegistrarVisitas.cs
new file mode 100644 (file)
index 0000000..ab0088b
--- /dev/null
@@ -0,0 +1,72 @@
+
+
+using System;
+using System.Collections;
+using Gtk;
+using Glade;
+
+using Controlador;
+using Controlador.Afiliacion;
+using Dominio.Afiliados;
+using Dominio;
+
+public class VRegistrarVisitas
+{
+       Glade.XML xml;
+
+       [Widget] TreeView visitas;
+
+       public VRegistrarVisitas ()
+       {
+               xml = new Glade.XML (null, "registrar_visitas.glade", "registrar_visitas", null);
+               xml.Autoconnect (this);
+       
+               RegistrarVisitasController c = new RegistrarVisitasController (null);
+       
+               ArrayList l = c.ObtenerSolicitantesAsignados ();
+               
+               visitas.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
+               
+               visitas.HeadersVisible = true;
+               visitas.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
+               visitas.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
+               visitas.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
+               visitas.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
+
+               ListStore store = (ListStore)visitas.Model;
+               foreach (Solicitante s in l) {
+                       TreeIter iter = store.AppendValues (s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido);
+                       Console.WriteLine ("Agregando {0}", s.Nombre);
+               }
+               c.Dispose ();
+       }
+
+       public void OnEstablecerPendiente (object o, EventArgs args)
+       {
+               TreeSelection fromSel = visitas.Selection;
+               TreeIter iter;
+               TreeModel model;
+               ListStore store = (ListStore)visitas.Model;
+
+               if (fromSel.GetSelected (out model, out iter) == false) {
+                       /* Nada seleccionado */
+                       return;
+               }
+               ETipoDocumento tipoDoc;
+               int nroDoc;
+               tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
+               nroDoc = (int)store.GetValue (iter, 1);
+
+               RegistrarVisitasController c = new RegistrarVisitasController (null);
+               c.EstablecerPendiente (tipoDoc, nroDoc);
+               c.Dispose ();
+       }
+
+       public void Run ()
+       {
+               Dialog w = (Dialog)xml.GetWidget ("registrar_visitas");
+               w.Run ();
+               w.Destroy ();
+       }
+}
+