]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/RegistrarVisitas.cs
(no commit message)
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / RegistrarVisitas.cs
1
2
3 using System;
4 using System.Collections;
5 using Gtk;
6 using Glade;
7
8 using Controlador;
9 using Controlador.Afiliacion;
10 using Dominio.Afiliados;
11 using Dominio;
12
13 public class VRegistrarVisitas
14 {
15         Glade.XML xml;
16
17         [Widget] TreeView visitas;
18         [Widget] Entry fechaNac;
19
20         public VRegistrarVisitas ()
21         {
22                 xml = new Glade.XML (null, "registrar_visitas.glade", "registrar_visitas", null);
23                 xml.Autoconnect (this);
24         
25                 RegistrarVisitasController c = new RegistrarVisitasController (null);
26         
27                 ArrayList l = c.ObtenerSolicitantesAsignados ();
28                 
29                 visitas.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
30                 
31                 visitas.HeadersVisible = true;
32                 visitas.AppendColumn ("Tipo Doc.", new CellRendererText (), "text", 0);
33                 visitas.AppendColumn ("Nro Doc.", new CellRendererText (), "text", 1);
34                 visitas.AppendColumn ("Apellido", new CellRendererText (), "text", 2);
35                 visitas.AppendColumn ("Nombre", new CellRendererText (), "text", 3);
36
37                 ListStore store = (ListStore)visitas.Model;
38                 foreach (Solicitante s in l) {
39                         TreeIter iter = store.AppendValues (s.TipoDocumento.ToString (), s.NroDocumento, s.Nombre, s.Apellido);
40                         Console.WriteLine ("Agregando {0}", s.Nombre);
41                 }
42                 c.Dispose ();
43         }
44
45         public void OnEstablecerPendiente (object o, EventArgs args)
46         {
47                 TreeSelection fromSel = visitas.Selection;
48                 TreeIter iter;
49                 TreeModel model;
50                 ListStore store = (ListStore)visitas.Model;
51
52                 if (fromSel.GetSelected (out model, out iter) == false) {
53                         /* Nada seleccionado */
54                         return;
55                 }
56                 ETipoDocumento tipoDoc;
57                 int nroDoc;
58                 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
59                 nroDoc = (int)store.GetValue (iter, 1);
60
61                 RegistrarVisitasController c = new RegistrarVisitasController (null);
62                 c.EstablecerPendiente (tipoDoc, nroDoc);
63                 c.Dispose ();
64                 store.Remove (ref iter);
65         }
66         
67         public void OnEliminarSolicitante (object o, EventArgs args)
68         {
69                 TreeSelection fromSel = visitas.Selection;
70                 TreeIter iter;
71                 TreeModel model;
72                 ListStore store = (ListStore)visitas.Model;
73
74                 if (fromSel.GetSelected (out model, out iter) == false) {
75                         /* Nada seleccionado */
76                         return;
77                 }
78                 ETipoDocumento tipoDoc;
79                 int nroDoc;
80                 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
81                 nroDoc = (int)store.GetValue (iter, 1);
82
83                 RegistrarVisitasController c = new RegistrarVisitasController (null);
84                 c.EliminarSolicitante (tipoDoc, nroDoc);
85                 c.Dispose ();
86
87                 store.Remove (ref iter);
88         }
89
90         public void OnAfiliar (object o, EventArgs args)
91         {
92                 TreeSelection fromSel = visitas.Selection;
93                 TreeIter iter;
94                 TreeModel model;
95                 ListStore store = (ListStore)visitas.Model;
96
97                 if (fromSel.GetSelected (out model, out iter) == false) {
98                         /* Nada seleccionado */
99                         return;
100                 }
101                 ETipoDocumento tipoDoc;
102                 int nroDoc;
103                 tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)store.GetValue (iter, 0), true);
104                 nroDoc = (int)store.GetValue (iter, 1);
105
106                 RegistrarVisitasController c = new RegistrarVisitasController (null);
107                 /* Obtengo la cantidad de familiares */
108                 int familiares = c.ObtenerCantidadFamiliares (tipoDoc, nroDoc);
109
110                 if (familiares > 0) {
111                         for (int i=0; i<familiares; i++) {
112                                 AgregarFamiliar (i+1, familiares);
113                         }
114                 }
115
116                 c.Dispose ();
117                 store.Remove (ref iter);
118         }
119
120         private void AgregarFamiliar (int n, int total)
121         {
122                 Glade.XML xml1 = new Glade.XML (null, "registrar_visitas.glade", "agregar_familiar", null);
123                 xml1.Autoconnect (this);
124
125                 Dialog w = (Dialog)xml1.GetWidget ("agregar_familiar");
126                 w.Title = String.Format ("Agregar Familiar {0} de {1}", n, total);
127                 w.Run ();
128                 w.Destroy ();
129         }
130
131         public void OnSeleccionarFechaClicked (object o, EventArgs args)
132         {
133                 CalendarDialog d;
134                 if (fechaNac.Text.Equals (""))
135                         d = new CalendarDialog ();
136                 else
137                         d = new CalendarDialog (fechaNac.Text);
138                 
139                 int response;
140                 
141                 response = d.Run();
142                 if (response == -3)
143                         fechaNac.Text = d.Date.ToLongDateString ();
144                 d.Destroy ();
145         }
146
147         public void Run ()
148         {
149                 Dialog w = (Dialog)xml.GetWidget ("registrar_visitas");
150                 w.Run ();
151                 w.Destroy ();
152         }
153 }
154