]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/ConsultarAutorizaciones.cs
Agrego material de estudio.
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / ConsultarAutorizaciones.cs
1
2 using System;
3 using System.Collections;
4 using Gtk;
5 using Glade;
6
7 using Controlador.Afiliacion;
8 using Controlador;
9 using Dominio.Autorizaciones;
10 using Dominio.Planes;
11 using Dominio.Afiliados;
12 using Dominio;
13
14 public class VConsultarAutorizaciones
15 {
16         Glade.XML xml;
17
18         /* Campos de datos */
19         [Widget] Entry afiliado_documento;
20         [Widget] Entry afiliado_apellido;
21         [Widget] Entry afiliado_nombre;
22         [Widget] Entry afiliado_codigo;
23         [Widget] Entry auth_codigo;
24         [Widget] Entry auth_fecha;
25         [Widget] TextView auth_obs;
26         [Widget] Entry prestacion_nombre;
27         [Widget] Entry prestacion_codigo;
28         [Widget] Entry prestador_cuit;
29         [Widget] Entry prestador_nombre;
30         [Widget] Entry prestador_email;
31         [Widget] Label tipo_auth;
32         [Widget] Label auditor;
33         [Widget] Label estado;
34         [Widget] Entry fecha_res;
35         [Widget] TextView fundamento_res;
36
37         /* Botones */
38         [Widget] Button primero;
39         [Widget] Button anterior;
40         [Widget] Button siguiente;
41         [Widget] Button ultimo;
42
43         ArrayList autorizaciones;
44         int actualpos = 0;
45
46         public VConsultarAutorizaciones ()
47         {
48                 xml = new Glade.XML (null, "consultar_autorizacion.glade", "consultar_autorizacion", null);
49                 xml.Autoconnect (this);
50         }
51
52         public void BuscarPorAfiliado (object o, EventArgs args)
53         {
54                 AutorizacionController c = new AutorizacionController (DateTime.Now);
55
56                 VBuscarAfiliado v = new VBuscarAfiliado ();
57                 string r = v.Run ();
58                 if (r == null)
59                         return;
60
61                 autorizaciones = c.obtenerAutorizacionesPorAfiliado (Int32.Parse (r));
62
63                 c.Dispose ();
64
65                 actualpos = 0;
66                 Mostrar ();
67         }
68
69         public void BuscarPorCodigo (object o, EventArgs args)
70         {
71         }
72
73         public void BuscarPorAuditor (object o, EventArgs args)
74         {
75         }
76
77         public void BuscarPorFecha (object o, EventArgs args)
78         {
79         }
80
81         private void SetButton (bool p, bool a, bool s, bool u)
82         {
83                 primero.Sensitive = p;
84                 anterior.Sensitive = a;
85                 siguiente.Sensitive = s;
86                 ultimo.Sensitive = u;
87         }
88
89         private void UpdateButtons ()
90         {
91                 if (autorizaciones == null) {
92                         SetButton (false, false, false, false);
93                         return;
94                 }
95                 if (autorizaciones.Count == 1) {
96                         SetButton (false, false, false, false);
97                         return;
98                 }
99                 if (actualpos == 0) {
100                         SetButton (false, false, true, true);
101                         return;
102                 }
103                 if (actualpos == (autorizaciones.Count - 1)) {
104                         SetButton (true, true, false, false);
105                         return;
106                 }
107                 SetButton (true, true, true, true);
108         }
109
110         public void OnMove (object o, EventArgs args)
111         {
112                 if (autorizaciones == null) {
113                         UpdateButtons ();
114                         return;
115                 }
116                 if (o == primero) actualpos = 0;
117                 if (o == anterior) actualpos--;
118                 if (o == siguiente) actualpos++;
119                 if (o == ultimo) actualpos = autorizaciones.Count - 1;
120
121                 if (actualpos < 0) actualpos = 0;
122                 if (actualpos >= autorizaciones.Count) actualpos = autorizaciones.Count - 1;
123         
124                 Mostrar ();
125         }
126         
127         private void Mostrar ()
128         {
129                 if (autorizaciones == null) return;
130
131                 Autorizacion auth;
132                 try {
133                         auth = autorizaciones[actualpos] as Autorizacion;
134                 } catch (Exception e) {
135                         UpdateButtons ();
136                         return;
137                 }
138
139                 afiliado_documento.Text = String.Format ("{0} {1}", auth.Afiliado.TipoDocumento, auth.Afiliado.NroDocumento);
140                 afiliado_apellido.Text = auth.Afiliado.Apellido;
141                 afiliado_nombre.Text = auth.Afiliado.Nombre;
142                 afiliado_codigo.Text = String.Format ("{0}", auth.Afiliado.Codigo);
143                 auth_codigo.Text = String.Format ("{0}", auth.Codigo);
144                 auth_fecha.Text = auth.FechaSolicitud.ToLongDateString ();
145                 if (auth is AutorizacionManual)
146                         auth_obs.Buffer.Text = (auth as AutorizacionManual).Observaciones;
147                 prestacion_nombre.Text = auth.Prestacion.Nombre;
148                 prestacion_codigo.Text = auth.Prestacion.Codigo;
149                 prestador_cuit.Text = auth.Prestador.Cuit;
150                 prestador_nombre.Text = auth.Prestador.Nombre;
151                 prestador_email.Text = auth.Prestador.Email;
152                 if (auth is AutorizacionManual)
153                         tipo_auth.Text = "Manual";
154                 else
155                         tipo_auth.Text = "Automatica";
156                 auditor.Text = "Auditor Medico";
157                 estado.Text = auth.getEstado (DateTime.Now).ToString ();
158                 
159                 if (auth is AutorizacionManual) {
160                         DateTime t = (auth as AutorizacionManual).FechaResolucion;
161                         if (t != DateTime.MinValue)
162                                 fecha_res.Text = t.ToLongDateString ();
163                 } else {
164                         fecha_res.Text = "";
165                 }
166                 /*      [Widget] TextView fundamento_res;*/
167
168                 UpdateButtons ();
169         }
170
171         public void Run ()
172         {
173                 Dialog w = (Dialog)xml.GetWidget ("consultar_autorizacion");
174                 w.Run ();
175                 w.Destroy ();
176         }
177 }
178