X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/1e3b9ee07ec8ed4dd72263248a08772a4e793e81..2be5451ef59289f66dbd3e1d9ff5a69fcc271364:/demo/src/Vistas/RevisarAutorizacionManual.cs?ds=sidebyside diff --git a/demo/src/Vistas/RevisarAutorizacionManual.cs b/demo/src/Vistas/RevisarAutorizacionManual.cs index 7aab433..eb851dd 100644 --- a/demo/src/Vistas/RevisarAutorizacionManual.cs +++ b/demo/src/Vistas/RevisarAutorizacionManual.cs @@ -9,36 +9,165 @@ using Controlador; using Controlador.Afiliacion; using Dominio.Afiliados; using Dominio.Autorizaciones; +using Dominio.Planes; using Dominio; public class VRevisarAutorizacionManual { Glade.XML xml; + Glade.XML xml_revisar; [Widget] TreeView lista; + /* Revisar Widgets */ + [Widget] Entry codigo; + [Widget] Entry fechaSolicitud; + [Widget] Entry prestacion_nombre; + [Widget] Entry prestacion_codigo; + [Widget] Entry prestador_nombre; + [Widget] Entry prestador_cuit; + [Widget] Entry prestador_email; + [Widget] Entry afiliado_nombre; + [Widget] Entry afiliado_apellido; + [Widget] Entry afiliado_documento; + [Widget] Entry afiliado_codigo; + [Widget] Label estado_cuenta; + [Widget] Label cobertura; + [Widget] Entry consumo_actual; + [Widget] Entry consumo_limite; + [Widget] TextView observaciones; + + float percent_cobertura; + public VRevisarAutorizacionManual () { xml = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "autorizaciones_pendientes", null); xml.Autoconnect (this); - /* Creo los modelos para los TreeView y el ComboBox - Tipo Doc NroDoc Apellido Nombre */ - lista.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string)); + lista.Model = new ListStore (typeof(int), typeof(string), typeof (string), typeof (string), typeof(string)); /* Columnas */ lista.HeadersVisible = true; lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0); lista.AppendColumn ("Fecha Solicitud", new CellRendererText (), "text", 1); lista.AppendColumn ("Prestacion", new CellRendererText (), "text", 2); - lista.AppendColumn ("Afiliado", new CellRendererText (), "text", 2); - lista.AppendColumn ("Prestador", new CellRendererText (), "text", 3); + lista.AppendColumn ("Afiliado", new CellRendererText (), "text", 3); + lista.AppendColumn ("Prestador", new CellRendererText (), "text", 4); CargarAutorizaciones (); } 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); + + TreeSelection sel = lista.Selection; + TreeModel model; + TreeIter iter; + + sel.GetSelected (out model, out iter); + int cod = (int)model.GetValue (iter, 0); + + AutorizacionController c = new AutorizacionController (DateTime.MinValue); + + 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; + prestador_cuit.Text = a.Prestador.Cuit; + prestador_email.Text = a.Prestador.Email; + afiliado_nombre.Text = a.Afiliado.Nombre; + afiliado_apellido.Text = a.Afiliado.Apellido; + afiliado_documento.Text = String.Format ("{0} {1}", a.Afiliado.TipoDocumento, a.Afiliado.NroDocumento); + afiliado_codigo.Text = String.Format ("{0}", a.Afiliado.Codigo); + if (a.Afiliado.Moroso == 0) + estado_cuenta.Text = "No se registra deuda del Afiliado"; + else + estado_cuenta.Text = String.Format ("El afiliado debe {0} meses.", a.Afiliado.Moroso); + + 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 + */ + 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 (); + v.Destroy (); + + c.Dispose (); + } + + public void OnRevisarResponse (object o, ResponseArgs args) + { + if (args.ResponseId == ResponseType.Close) { + 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) { + percent = percent_cobertura; + } + if (((int)args.ResponseId) == 1) { + 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 ()