]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/IngresarSolicitud.cs
* Agrego un dialogo de seleccion de fecha para mayor comodidad y menos validaciones.
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / IngresarSolicitud.cs
1
2 using System;
3 using System.Collections;
4 using Gtk;
5 using Glade;
6
7 using Controlador.Afiliacion;
8 using Dominio.Afiliados;
9 using Dominio;
10
11 public class VIngresarSolicitud 
12 {
13         Dialog wIngresarSolicitud;
14         Glade.XML xml;
15
16         [Widget] ComboBox tipoDoc;
17         [Widget] Entry nroDoc;
18         [Widget] Entry nombre;
19         [Widget] Entry apellido;
20         [Widget] Entry email;
21         [Widget] RadioButton sexom;
22         [Widget] Entry fechaNac;
23         [Widget] Entry calle;
24         [Widget] Entry numero;
25         [Widget] Entry piso;
26         [Widget] Entry dpto;
27         [Widget] ComboBox provincia;
28         [Widget] Entry disponibilidad;
29         [Widget] Entry codigopostal;
30         [Widget] Entry telefono;
31         [Widget] SpinButton familiares;
32         [Widget] TextView observaciones;
33
34         public VIngresarSolicitud ()
35         {
36                 xml = new Glade.XML (null, "ingresar_solicitud.glade", "ingresarSolicitud", null);
37                 xml.Autoconnect (this);
38         }
39
40         public void OnDialogResponse (object o, ResponseArgs args)
41         {
42                 TreeIter iter;
43                 Dialog w = (Dialog)xml.GetWidget ("ingresarSolicitud");
44                 if (args.ResponseId == ResponseType.Cancel)
45                         return; 
46
47                 ETipoDocumento _tipoDoc;
48                 int _nroDoc;
49                 string _nombre;
50                 string _apellido;
51                 string _email;
52                 ESexo _sexo;
53                 string _fechaNac;
54                 string _calle;
55                 int _numero;
56                 int _piso;
57                 string _dpto;
58                 EProvincia _provincia;
59                 string _disponibilidad;
60                 string _telefono;
61                 int _familiares;
62                 string _observaciones;
63
64                 /* Acept presionado, guardo */
65                 AfiliadoSolicitanteController c = new AfiliadoSolicitanteController ();
66                 
67                 tipoDoc.GetActiveIter (out iter);
68                 _tipoDoc = (ETipoDocumento)Enum.Parse (typeof (ETipoDocumento), (string)tipoDoc.Model.GetValue (iter, 0), true);
69                 _nroDoc = Int32.Parse (nroDoc.Text);
70
71                 if (c.ExisteSolicitante (_tipoDoc, _nroDoc) == true) {
72                         /* TODO : Mostrar alerta y cancelar cerrado de dialogo! */
73                         return;
74                 }
75
76                 _nombre = nombre.Text;
77                 _apellido = apellido.Text;
78                 _email = email.Text;
79                 if (sexom.Active == true)
80                         _sexo = ESexo.M;
81                 else
82                         _sexo = ESexo.F;
83                 _fechaNac = fechaNac.Text;
84                 _calle = calle.Text;
85                 _numero = Int32.Parse (numero.Text);
86                 _piso = Int32.Parse (piso.Text);
87                 _dpto = dpto.Text;
88                 provincia.GetActiveIter (out iter);
89                 //_provincia= (EProvincia)Enum.Parse (typeof (EProvincia), (string)provincia.Model.GetValue (iter, 0), true);
90                 //_provincia 
91                 _telefono = telefono.Text;
92                 _disponibilidad = disponibilidad.Text;
93                 _familiares = familiares.ValueAsInt;
94                 _observaciones = observaciones.Buffer.Text;
95         
96                 c.AgregarSolicitante (
97                         _tipoDoc, _nroDoc, _nombre, _apellido, _email,
98                         new DateTime (2005, 10, 10), _calle, _numero, _piso,  _dpto, _telefono, 
99                         _sexo, _disponibilidad, _familiares, _observaciones);
100
101                 c.Dispose ();
102         }
103
104         public void OnSeleccionarFechaClicked (object o, EventArgs args)
105         {
106                 CalendarDialog d = new CalendarDialog ();
107                 int response;
108                 response = d.Run();
109                 if (response == -3)
110                         fechaNac.Text = d.Date.ToLongDateString ();
111                 d.Destroy ();
112         }
113
114         public void Run ()
115         {
116                 Dialog w = (Dialog)xml.GetWidget ("ingresarSolicitud");
117                 w.Run ();
118                 w.Destroy ();
119         }
120 }
121