4 using System.Collections;
9 using Controlador.Afiliacion;
10 using Dominio.Afiliados;
11 using Dominio.Autorizaciones;
15 public class VRevisarAutorizacionManual
18 Glade.XML xml_revisar;
20 [Widget] TreeView lista;
23 [Widget] Entry codigo;
24 [Widget] Entry fechaSolicitud;
25 [Widget] Entry prestacion_nombre;
26 [Widget] Entry prestacion_codigo;
27 [Widget] Entry prestador_nombre;
28 [Widget] Entry prestador_cuit;
29 [Widget] Entry prestador_email;
30 [Widget] Entry afiliado_nombre;
31 [Widget] Entry afiliado_apellido;
32 [Widget] Entry afiliado_documento;
33 [Widget] Entry afiliado_codigo;
34 [Widget] Label estado_cuenta;
35 [Widget] Label cobertura;
36 [Widget] Entry consumo_actual;
37 [Widget] Entry consumo_limite;
38 [Widget] TextView observaciones;
40 float percent_cobertura;
42 public VRevisarAutorizacionManual ()
44 xml = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "autorizaciones_pendientes", null);
45 xml.Autoconnect (this);
47 lista.Model = new ListStore (typeof(int), typeof(string), typeof (string), typeof (string), typeof(string));
50 lista.HeadersVisible = true;
51 lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0);
52 lista.AppendColumn ("Fecha Solicitud", new CellRendererText (), "text", 1);
53 lista.AppendColumn ("Prestacion", new CellRendererText (), "text", 2);
54 lista.AppendColumn ("Afiliado", new CellRendererText (), "text", 3);
55 lista.AppendColumn ("Prestador", new CellRendererText (), "text", 4);
57 CargarAutorizaciones ();
60 public void OnRevisar (object o, EventArgs args)
62 /* Muestro la ventana */
63 xml_revisar = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "revisar_autorizacion", null);
64 xml_revisar.Autoconnect (this);
66 TreeSelection sel = lista.Selection;
70 sel.GetSelected (out model, out iter);
71 int cod = (int)model.GetValue (iter, 0);
73 AutorizacionController c = new AutorizacionController (DateTime.MinValue);
77 a = (AutorizacionManual)c.obtener (cod);
78 } catch (Exception e) {
79 Console.WriteLine ("No se pudo obtener Autorizacion");
85 Console.WriteLine ("Error al buscar autorizacion!!");
90 codigo.Text = String.Format ("{0}", a.Codigo);
91 fechaSolicitud.Text = a.FechaSolicitud.ToString ();
92 observaciones.Buffer.Text = a.Observaciones;
93 prestacion_nombre.Text = a.Prestacion.Nombre;
94 prestacion_codigo.Text = a.Prestacion.Codigo;
95 prestador_nombre.Text = a.Prestador.Nombre;
96 prestador_cuit.Text = a.Prestador.Cuit;
97 prestador_email.Text = a.Prestador.Email;
98 afiliado_nombre.Text = a.Afiliado.Nombre;
99 afiliado_apellido.Text = a.Afiliado.Apellido;
100 afiliado_documento.Text = String.Format ("{0} {1}", a.Afiliado.TipoDocumento, a.Afiliado.NroDocumento);
101 afiliado_codigo.Text = String.Format ("{0}", a.Afiliado.Codigo);
102 if (a.Afiliado.Moroso == 0)
103 estado_cuenta.Text = "No se registra deuda del Afiliado";
105 estado_cuenta.Text = String.Format ("El afiliado debe {0} meses.", a.Afiliado.Moroso);
108 if (a.Afiliado.PlanActual != null) {
109 cob = a.Afiliado.PlanActual.BuscarCobertura (a.Prestador, a.Prestacion);
115 cobertura.Markup = "<b>La prestacion no esta cubierta</b>";
117 cobertura.Text = "La prestacion esta cubierta";
119 /* Necesitariamos un query que cuente este dato */
120 consumo_actual.Text = "1";
121 /* Necesitariamos un metodo que busque la Cobertura para este Prestador y esta Prestacion
122 * del Plan del cliente
125 consumo_limite.Text = String.Format ("{0}", cob.LimiteAnual);
128 percent_cobertura = 1.0f;
130 percent_cobertura = cob.Porcentaje;
132 Dialog v = (Dialog)xml_revisar.GetWidget ("revisar_autorizacion");
139 public void OnRevisarResponse (object o, ResponseArgs args)
141 if (args.ResponseId == ResponseType.Close) {
142 Console.WriteLine ("Cerrando");
146 Glade.XML resolucion = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "resolucion", null);
147 resolucion.Autoconnect (this);
149 Dialog v = (Dialog)resolucion.GetWidget ("resolucion");
152 TextView texto = (TextView)resolucion.GetWidget ("motivo");
154 string r = texto.Buffer.Text;
158 float percent = 0.0f;
159 if (((int)args.ResponseId) == 0) {
160 percent = percent_cobertura;
162 if (((int)args.ResponseId) == 1) {
166 int cod = Int32.Parse (codigo.Text);
168 AutorizacionController c = new AutorizacionController (DateTime.Now);
169 c.setResolucionAutorizacionManual (cod, r, percent);
173 private void CargarAutorizaciones ()
175 ListStore store = (ListStore)lista.Model;
179 AutorizacionController c = new AutorizacionController (DateTime.Now);
180 ArrayList lst = c.obtenerAutorizacionesPendientes ();
182 foreach(AutorizacionManual a in lst) {
183 TreeIter iter = store.Append ();
184 store.SetValue (iter, 0, a.Codigo);
185 store.SetValue (iter, 1, a.FechaSolicitud.ToString ());
186 store.SetValue (iter, 2, String.Format ("({0}) {1}", a.Prestacion.Codigo, a.Prestacion.Nombre));
187 store.SetValue (iter, 3, String.Format ("({0}) {1} {2}", a.Afiliado.Codigo, a.Afiliado.Nombre, a.Afiliado.Apellido));
188 store.SetValue (iter, 4, String.Format ("({0}) {1}", a.Prestador.Cuit, a.Prestador.Nombre));
197 Dialog w = (Dialog)xml.GetWidget ("autorizaciones_pendientes");