]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Vistas/RevisarAutorizacionManual.cs
Ctor( codigo, nombre ) agregado
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / RevisarAutorizacionManual.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.Autorizaciones;
12 using Dominio;
13
14 public class VRevisarAutorizacionManual
15 {
16         Glade.XML xml;
17         Glade.XML xml_revisar;
18
19         [Widget] TreeView lista;
20
21         /* Revisar Widgets */
22         [Widget] Entry codigo;
23         [Widget] Entry fechaSolicitud;
24         [Widget] Entry prestacion_nombre;
25         [Widget] Entry prestacion_codigo;
26         [Widget] Entry prestador_nombre;
27         [Widget] Entry prestador_cuit;
28         [Widget] Entry prestador_email;
29         [Widget] Entry afiliado_nombre;
30         [Widget] Entry afiliado_apellido;
31         [Widget] Entry afiliado_documento;
32         [Widget] Entry afiliado_codigo;
33         [Widget] Label estado_cuenta;
34         [Widget] Label cobertura;
35         [Widget] Entry consumo_actual;
36         [Widget] Entry consumo_limite;
37
38         public VRevisarAutorizacionManual ()
39         {
40                 xml = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "autorizaciones_pendientes", null);
41                 xml.Autoconnect (this);
42
43                 lista.Model = new ListStore (typeof(int), typeof(string), typeof (string), typeof (string), typeof(string));
44
45                 /* Columnas */
46                 lista.HeadersVisible = true;
47                 lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0);
48                 lista.AppendColumn ("Fecha Solicitud", new CellRendererText (), "text", 1);
49                 lista.AppendColumn ("Prestacion", new CellRendererText (), "text", 2);
50                 lista.AppendColumn ("Afiliado", new CellRendererText (), "text", 3);
51                 lista.AppendColumn ("Prestador", new CellRendererText (), "text", 4);
52         
53                 CargarAutorizaciones ();
54         }
55
56         public void OnRevisar (object o, EventArgs args)
57         {
58                 xml_revisar = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "revisar_autorizacion", null);
59                 xml_revisar.Autoconnect (this);
60         
61                 TreeSelection sel = lista.Selection;
62                 TreeModel model;
63                 TreeIter iter;
64
65                 sel.GetSelected (out model, out iter);
66                 int cod = (int)model.GetValue (iter, 0);
67         
68                 AutorizacionController c = new AutorizacionController (DateTime.MinValue);
69                 AutorizacionManual a = (AutorizacionManual)c.obtener (cod);
70                 
71                 codigo.Text = String.Format ("{0}", a.Codigo);
72                 fechaSolicitud.Text = a.FechaSolicitud.ToString ();
73                 prestacion_nombre.Text = a.Prestacion.Nombre;
74                 prestacion_codigo.Text = a.Prestacion.Codigo;
75                 prestador_nombre.Text = a.Prestador.Nombre;
76                 prestador_cuit.Text = a.Prestador.Cuit;
77                 prestador_email.Text = a.Prestador.Email;
78                 afiliado_nombre.Text = a.Afiliado.Nombre;
79                 afiliado_apellido.Text = a.Afiliado.Apellido;
80                 afiliado_documento.Text = String.Format ("{0} {1}", a.Afiliado.TipoDocumento, a.Afiliado.NroDocumento);
81                 afiliado_codigo.Text = String.Format ("{0}", a.Afiliado.Codigo);
82                 if (a.Afiliado.Moroso == 0)
83                         estado_cuenta.Text = "No se registra deuda del Afiliado";
84                 else
85                         estado_cuenta.Text = String.Format ("El afiliado debe {0} meses.", a.Afiliado.Moroso);
86                 
87                 cobertura.Text = "La prestacion esta cubierta";
88                 /* Necesitariamos un query que cuente este dato */
89                 consumo_actual.Text = "1";
90                 /* Necesitariamos un metodo que busque la Cobertura para este Prestador y esta Prestacion 
91                  * del Plan del cliente
92                  */
93                 consumo_limite.Text = "2"; 
94
95                 Dialog v = (Dialog)xml_revisar.GetWidget ("revisar_autorizacion");
96                 v.Run ();
97                 v.Destroy ();
98
99                 c.Dispose ();
100         }
101
102         public void OnRevisarResponse (object o, ResponseArgs args)
103         {
104                 if (args.ResponseId == ResponseType.Close) {
105                         Console.WriteLine ("Cerrando");
106                         return; 
107                 }
108                 if (((int)args.ResponseId) == 0) {
109                         Console.WriteLine ("Aprobado");
110                 }
111                 if (((int)args.ResponseId) == 1) {
112                         Console.WriteLine ("Rechazado");
113                 }
114         }
115
116         private void CargarAutorizaciones ()
117         {
118                 ListStore store = (ListStore)lista.Model;
119
120                 store.Clear ();
121
122                 AutorizacionController c = new AutorizacionController (DateTime.Now);
123                 ArrayList lst = c.obtenerAutorizacionesPendientes ();
124
125                 foreach(AutorizacionManual a in lst) {
126                         TreeIter iter = store.Append ();
127                         store.SetValue (iter, 0, a.Codigo);
128                         store.SetValue (iter, 1, a.FechaSolicitud.ToString ());
129                         store.SetValue (iter, 2, String.Format ("({0}) {1}", a.Prestacion.Codigo, a.Prestacion.Nombre));
130                         store.SetValue (iter, 3, String.Format ("({0}) {1} {2}", a.Afiliado.Codigo, a.Afiliado.Nombre, a.Afiliado.Apellido));
131                         store.SetValue (iter, 4, String.Format ("({0}) {1}", a.Prestador.Cuit, a.Prestador.Nombre));
132                 }
133
134                 c.Dispose ();
135         }
136
137
138         public void Run ()
139         {
140                 Dialog w = (Dialog)xml.GetWidget ("autorizaciones_pendientes");
141                 w.Run ();
142                 w.Destroy ();
143         }
144 }
145