X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/43077e6c509a602d36382b41ad530b60cd370e10..820f54373e665a92061edc3decf33e095ecb2678:/demo/src/Vistas/RevisarAutorizacionManual.cs diff --git a/demo/src/Vistas/RevisarAutorizacionManual.cs b/demo/src/Vistas/RevisarAutorizacionManual.cs index 029cef9..eb851dd 100644 --- a/demo/src/Vistas/RevisarAutorizacionManual.cs +++ b/demo/src/Vistas/RevisarAutorizacionManual.cs @@ -9,6 +9,7 @@ using Controlador; using Controlador.Afiliacion; using Dominio.Afiliados; using Dominio.Autorizaciones; +using Dominio.Planes; using Dominio; public class VRevisarAutorizacionManual @@ -34,6 +35,9 @@ public class VRevisarAutorizacionManual [Widget] Label cobertura; [Widget] Entry consumo_actual; [Widget] Entry consumo_limite; + [Widget] TextView observaciones; + + float percent_cobertura; public VRevisarAutorizacionManual () { @@ -55,6 +59,7 @@ public class VRevisarAutorizacionManual public void OnRevisar (object o, EventArgs args) { + /* Muestro la ventana */ xml_revisar = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "revisar_autorizacion", null); xml_revisar.Autoconnect (this); @@ -66,10 +71,25 @@ public class VRevisarAutorizacionManual int cod = (int)model.GetValue (iter, 0); AutorizacionController c = new AutorizacionController (DateTime.MinValue); - AutorizacionManual a = (AutorizacionManual)c.obtener (cod); + + AutorizacionManual a; + try { + a = (AutorizacionManual)c.obtener (cod); + } catch (Exception e) { + Console.WriteLine ("No se pudo obtener Autorizacion"); + c.Dispose (); + return; + } + if (a == null) { + Console.WriteLine ("Error al buscar autorizacion!!"); + c.Dispose (); + return; + } + codigo.Text = String.Format ("{0}", a.Codigo); fechaSolicitud.Text = a.FechaSolicitud.ToString (); + observaciones.Buffer.Text = a.Observaciones; prestacion_nombre.Text = a.Prestacion.Nombre; prestacion_codigo.Text = a.Prestacion.Codigo; prestador_nombre.Text = a.Prestador.Nombre; @@ -83,14 +103,31 @@ public class VRevisarAutorizacionManual estado_cuenta.Text = "No se registra deuda del Afiliado"; else estado_cuenta.Text = String.Format ("El afiliado debe {0} meses.", a.Afiliado.Moroso); - - cobertura.Text = "La prestacion esta cubierta"; + + Cobertura cob; + if (a.Afiliado.PlanActual != null) { + cob = a.Afiliado.PlanActual.BuscarCobertura (a.Prestador, a.Prestacion); + } else { + cob = null; + } + + if (cob == null) + cobertura.Markup = "La prestacion no esta cubierta"; + else + cobertura.Text = "La prestacion esta cubierta"; + /* Necesitariamos un query que cuente este dato */ consumo_actual.Text = "1"; /* Necesitariamos un metodo que busque la Cobertura para este Prestador y esta Prestacion * del Plan del cliente */ - consumo_limite.Text = "2"; + if (cob != null) + consumo_limite.Text = String.Format ("{0}", cob.LimiteAnual); + + if (cob == null) + percent_cobertura = 1.0f; + else + percent_cobertura = cob.Porcentaje; Dialog v = (Dialog)xml_revisar.GetWidget ("revisar_autorizacion"); v.Run (); @@ -105,12 +142,32 @@ public class VRevisarAutorizacionManual Console.WriteLine ("Cerrando"); return; } + + Glade.XML resolucion = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "resolucion", null); + resolucion.Autoconnect (this); + + Dialog v = (Dialog)resolucion.GetWidget ("resolucion"); + v.Run (); + + TextView texto = (TextView)resolucion.GetWidget ("motivo"); + + string r = texto.Buffer.Text; + + v.Destroy (); + + float percent = 0.0f; if (((int)args.ResponseId) == 0) { - Console.WriteLine ("Aprobado"); + percent = percent_cobertura; } if (((int)args.ResponseId) == 1) { - Console.WriteLine ("Rechazado"); + percent = 0.0f; } + + int cod = Int32.Parse (codigo.Text); + + AutorizacionController c = new AutorizacionController (DateTime.Now); + c.setResolucionAutorizacionManual (cod, r, percent); + c.Dispose (); } private void CargarAutorizaciones ()