]> git.llucax.com Git - z.facultad/75.10/miklolife.git/commitdiff
me fui a dormir ...
authorRicardo Markiewicz <gazer.arg@gmail.com>
Tue, 14 Jun 2005 06:28:40 +0000 (06:28 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Tue, 14 Jun 2005 06:28:40 +0000 (06:28 +0000)
carpeta/disenio_grafico/src/Controlador/AfiliadoSolicitanteController.cs
carpeta/disenio_grafico/src/Dominio/Solicitante.cs
carpeta/disenio_grafico/src/Vistas/EmitirHojeDeRuta.cs [new file with mode: 0644]

index bceaec5401f99376a613e8e01b0faec9cadf0dea..8cf6b97bf24309c74227fa159763e0ab4ebaa83f 100644 (file)
@@ -147,6 +147,18 @@ public class AfiliadoSolicitanteController
                return true;
        }
 
                return true;
        }
 
+       private Solicitante GetSolicitante (ETipoDocumento tipoDoc, int nroDoc)
+       {
+               Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
+
+               ArrayList lst = GetSolicitantes (s);
+
+               if (lst.Count == 0)
+                       return null;
+
+               return (Solicitante)lst[0];
+       }
+
        private ArrayList GetSolicitantes (Solicitante s)
        {
                ObjectContainer db=Db4o.openFile("os.yap");
        private ArrayList GetSolicitantes (Solicitante s)
        {
                ObjectContainer db=Db4o.openFile("os.yap");
@@ -174,10 +186,31 @@ public class AfiliadoSolicitanteController
        public ArrayList ObtenerSolicitantesPendientes ()
        {
                Solicitante s = new Solicitante (0, 0, null, null);
        public ArrayList ObtenerSolicitantesPendientes ()
        {
                Solicitante s = new Solicitante (0, 0, null, null);
-
-               Console.WriteLine ("Obtengo los pendientes ...");
+               Promotor p = null; // new Promotor (0, 0, null, null);
+               s.Promotor = p;
                return GetSolicitantes (s);
        }
                return GetSolicitantes (s);
        }
+
+       public void AsociarPromotor (ETipoDocumento tipoDoc, int nroDoc, int promotor)
+       {
+               ObjectContainer db=Db4o.openFile("os.yap");
+               try {
+                       Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
+                       ObjectSet result = db.get(s);
+
+                       s = (Solicitante)result.next ();
+                       Promotor p = new Promotor (ETipoDocumento.DNI, 12345678, "123", "123");
+                       s.Promotor = p;
+                       db.set(s);
+               }
+               catch (Exception e) {
+                       Console.WriteLine (e);
+               }
+               finally {
+                       db.close();
+               }
+       }
+
 }
 
 }
 }
 
 }
index c0550b77e0cf2f6bf895503e4afb16462c2087ae..98c0aced4995aec9f9a0eb820dea508f171933b6 100644 (file)
@@ -9,7 +9,7 @@ public class Solicitante : Persona
        private string _observaciones;
        private bool _pendiente;
        private Afiliado _titular;
        private string _observaciones;
        private bool _pendiente;
        private Afiliado _titular;
-       private int _codigoPromotor;
+       private Promotor _promotor = null;
 
        public string Disponibilidad {
                get { return _disponibilidad; }
 
        public string Disponibilidad {
                get { return _disponibilidad; }
@@ -31,16 +31,15 @@ public class Solicitante : Persona
                get { return _titular; }
                set { _titular = value; }
        }
                get { return _titular; }
                set { _titular = value; }
        }
+       public Promotor Promotor {
+               get { return _promotor; }
+               set { _promotor = value; }
+       }
 
        public Solicitante (ETipoDocumento tD, int nroD, string nombre, string apellido):base(tD,nroD,nombre)
        {
                Apellido = apellido;
        }
 
        public Solicitante (ETipoDocumento tD, int nroD, string nombre, string apellido):base(tD,nroD,nombre)
        {
                Apellido = apellido;
        }
-
-       public void setIdPromotor (int c)
-       {
-               _codigoPromotor = c;
-       }
 }
 
 }
 }
 
 }
diff --git a/carpeta/disenio_grafico/src/Vistas/EmitirHojeDeRuta.cs b/carpeta/disenio_grafico/src/Vistas/EmitirHojeDeRuta.cs
new file mode 100644 (file)
index 0000000..e7efa28
--- /dev/null
@@ -0,0 +1,145 @@
+
+
+using System;
+using System.Collections;
+using Gtk;
+using Glade;
+
+using Controlador.Afiliacion;
+using Dominio.Afiliados;
+using Dominio;
+
+public class VEmitirHojaDeRuta 
+{
+       Dialog wIngresarSolicitud;
+       Glade.XML xml;
+
+       [Widget] ComboBox promotores;
+       [Widget] TreeView disponibles;
+       [Widget] TreeView hojaderuta;
+
+       public VEmitirHojaDeRuta ()
+       {
+               xml = new Glade.XML (null, "emitir_hoja_de_ruta.glade", "emitir_hoja_de_ruta", null);
+               xml.Autoconnect (this);
+
+               /* Creo los modelos para los TreeView y el ComboBox 
+                                                   Tipo Doc        NroDoc         Apellido       Nombre     */
+               disponibles.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
+               hojaderuta.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
+
+               /* Columnas */
+               disponibles.HeadersVisible = true;
+               disponibles.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
+               disponibles.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
+               disponibles.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
+               disponibles.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
+               hojaderuta.HeadersVisible = true;
+               hojaderuta.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
+               hojaderuta.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
+               hojaderuta.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
+               hojaderuta.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
+               
+               xml.GetWidget ("emitir_hoja_de_ruta").SetSizeRequest (500, 420);
+
+               /* Cargo promotores */
+               ListStore l = (ListStore)promotores.Model;
+               l.Clear ();
+               for(int i=0; i<10; i++)
+                       l.AppendValues (String.Format ("Promotor {0}", i));
+       }
+
+       public void OnDialogResponse (object o, ResponseArgs args)
+       {
+               if (args.ResponseId == ResponseType.Cancel)
+                       return; 
+
+               /* Armo la hoja de ruta */
+               /* TODO : No tengo de donde sacarlo, creo uno pedorro para test */
+               int promotor = 0;
+       
+               /* Veo si hay items en la hoja de ruta */
+               ListStore store = (ListStore)hojaderuta.Model;
+               TreeIter iter;
+               if (store.GetIterFirst (out iter) == false) {
+                       /* Lista vacia! .. Alarm! Alarm! :) */
+                       MessageDialog md = new MessageDialog (null, DialogFlags.DestroyWithParent,
+                               MessageType.Error, ButtonsType.Close, "La hoja de ruta está vacía.");
+
+                       md.Run ();
+                       md.Destroy ();
+                       return;
+               }
+
+               AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
+               
+               ETipoDocumento tipoDoc;
+               int nroDoc;
+               tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
+               nroDoc = (int)store.GetValue (iter, 1);
+               c.AsociarPromotor (tipoDoc, nroDoc, promotor);
+
+               while (store.IterNext (ref iter) == true) {
+                       tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
+                       nroDoc = Int32.Parse ((string)store.GetValue (iter, 1));
+                       c.AsociarPromotor (tipoDoc, nroDoc, promotor);
+               }
+       }
+
+       public void OnAgregarClicked (object o, EventArgs args)
+       {
+               /* Obtengo el TreeIter seleccionado de disponibles */
+               TreeSelection fromSel = disponibles.Selection;
+               TreeIter iter;
+               TreeModel model;
+
+               if (fromSel.GetSelected (out model, out iter)) {
+                       ListStore store1 = (ListStore)disponibles.Model;
+                       ListStore store2 = (ListStore)hojaderuta.Model;
+                       TreeIter nuevo = store2.Append ();
+       
+                       for(int i=0; i<4; i++)
+                               store2.SetValue (nuevo, i, store1.GetValue (iter, i));
+                       store1.Remove (ref iter);
+               }
+       }
+
+       public void OnBorrarClicked (object o, EventArgs args)
+       {
+               /* Obtengo el TreeIter seleccionado de disponibles */
+               TreeSelection fromSel = hojaderuta.Selection;
+               TreeIter iter;
+               TreeModel model;
+
+               if (fromSel.GetSelected (out model, out iter)) {
+                       ListStore store1 = (ListStore)hojaderuta.Model;
+                       ListStore store2 = (ListStore)disponibles.Model;
+                       TreeIter nuevo = store2.Append ();
+       
+                       for(int i=0; i<4; i++)
+                               store2.SetValue (nuevo, i, store1.GetValue (iter, i));
+                       store1.Remove (ref iter);
+               }
+       }
+
+       public void OnPromotorSelected (object o, EventArgs args)
+       {
+               AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
+
+               ArrayList sols = c.ObtenerSolicitantesPendientes ();
+               ListStore store = (ListStore)disponibles.Model;
+
+               foreach (Solicitante s in sols) {
+                       TreeIter iter = store.AppendValues (s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido);
+                       Console.WriteLine ("-- {0}", s.Promotor);
+               }
+       }
+
+       public void Run ()
+       {
+               Dialog w = (Dialog)xml.GetWidget ("emitir_hoja_de_ruta");
+               w.Run ();
+               w.Destroy ();
+       }
+}
+