]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Vistas/RegistrarVisitas.cs
Bien especifico clase Autorizacion, de dominio.
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / RegistrarVisitas.cs
index 7df614fb04b50724e7d2fc3215985661ff808c0b..83d4e7b0720b621d8f9ee0f51c76b239db7012cc 100644 (file)
@@ -15,6 +15,7 @@ public class VRegistrarVisitas
        Glade.XML xml;
 
        [Widget] TreeView visitas;
+       [Widget] Entry fechaNac;
 
        public VRegistrarVisitas ()
        {
@@ -60,6 +61,7 @@ public class VRegistrarVisitas
                RegistrarVisitasController c = new RegistrarVisitasController (null);
                c.EstablecerPendiente (tipoDoc, nroDoc);
                c.Dispose ();
+               store.Remove (ref iter);
        }
        
        public void OnEliminarSolicitante (object o, EventArgs args)
@@ -81,6 +83,65 @@ public class VRegistrarVisitas
                RegistrarVisitasController c = new RegistrarVisitasController (null);
                c.EliminarSolicitante (tipoDoc, nroDoc);
                c.Dispose ();
+
+               store.Remove (ref iter);
+       }
+
+       public void OnAfiliar (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);
+               /* Obtengo la cantidad de familiares */
+               int familiares = c.ObtenerCantidadFamiliares (tipoDoc, nroDoc);
+
+               if (familiares > 0) {
+                       for (int i=0; i<familiares; i++) {
+                               AgregarFamiliar (i+1, familiares);
+                       }
+               }
+
+               c.Dispose ();
+               store.Remove (ref iter);
+       }
+
+       private void AgregarFamiliar (int n, int total)
+       {
+               Glade.XML xml1 = new Glade.XML (null, "registrar_visitas.glade", "agregar_familiar", null);
+               xml1.Autoconnect (this);
+
+               Dialog w = (Dialog)xml1.GetWidget ("agregar_familiar");
+               w.Title = String.Format ("Agregar Familiar {0} de {1}", n, total);
+               w.Run ();
+               w.Destroy ();
+       }
+
+       public void OnSeleccionarFechaClicked (object o, EventArgs args)
+       {
+               CalendarDialog d;
+               if (fechaNac.Text.Equals (""))
+                       d = new CalendarDialog ();
+               else
+                       d = new CalendarDialog (fechaNac.Text);
+               
+               int response;
+               
+               response = d.Run();
+               if (response == -3)
+                       fechaNac.Text = d.Date.ToLongDateString ();
+               d.Destroy ();
        }
 
        public void Run ()