]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Vistas/RegistrarVisitas.cs
Para guille :)
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / RegistrarVisitas.cs
index 83d4e7b0720b621d8f9ee0f51c76b239db7012cc..a2b5eca1f3ae88254abb9ebba8f9a212b628ce2e 100644 (file)
@@ -75,6 +75,23 @@ public class VRegistrarVisitas
                        /* Nada seleccionado */
                        return;
                }
+
+               /* Confirmo la operacion */
+               MessageDialog md = new MessageDialog (
+                       null, 
+                       DialogFlags.DestroyWithParent,
+                       MessageType.Question, 
+                       ButtonsType.YesNo, "Esta seguro de quere eliminar el solicitante?"
+               );
+                    
+               ResponseType result = (ResponseType)md.Run ();
+
+               if (result == ResponseType.No) {
+                       md.Destroy ();
+                       return;
+               }
+               md.Destroy ();
+
                ETipoDocumento tipoDoc;
                int nroDoc;
                tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
@@ -107,25 +124,35 @@ public class VRegistrarVisitas
                /* Obtengo la cantidad de familiares */
                int familiares = c.ObtenerCantidadFamiliares (tipoDoc, nroDoc);
 
+               bool error = false;
                if (familiares > 0) {
                        for (int i=0; i<familiares; i++) {
-                               AgregarFamiliar (i+1, familiares);
+                               error = AgregarFamiliar (i+1, familiares, tipoDoc, nroDoc, c);
                        }
                }
 
+               if (!error) {
+                       c.Visitado (tipoDoc, nroDoc);
+                       store.Remove (ref iter);
+               }
+
                c.Dispose ();
-               store.Remove (ref iter);
        }
 
-       private void AgregarFamiliar (int n, int total)
+       private bool AgregarFamiliar (int n, int total, ETipoDocumento tipo, int nro, RegistrarVisitasController c)
        {
-               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 ();
+               VAgregarFamiliar w = new VAgregarFamiliar (n, total, tipo, nro, c);
+               if (w.Run () == true) {
+                       MessageDialog md = new MessageDialog (null, 
+                               DialogFlags.DestroyWithParent,
+                               MessageType.Error, 
+                               ButtonsType.Close, "No se pudo agregar el familiar!.");
+
+                       md.Run ();
+                       md.Destroy();
+                       return true;
+               }
+               return false;
        }
 
        public void OnSeleccionarFechaClicked (object o, EventArgs args)