From: Ricardo Markiewicz Date: Wed, 6 Jul 2005 23:56:37 +0000 (+0000) Subject: * Pedido de autorizacion manual completo con todos sus cuadros de busqueda. X-Git-Tag: svn_import~29 X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/commitdiff_plain/5421c84a95c42db5c3b2753d556dd7efbd1a6b4e?ds=sidebyside * Pedido de autorizacion manual completo con todos sus cuadros de busqueda. Tambien llama a controller, solo falta confirmar que este ultimo anda y listo ya tenemos autorizaciones cargadas --- diff --git a/demo/glade/buscar_prestador.glade b/demo/glade/buscar_prestador.glade new file mode 100644 index 0000000..66ed9ad --- /dev/null +++ b/demo/glade/buscar_prestador.glade @@ -0,0 +1,303 @@ + + + + + + + 400 + 500 + True + Buscar Prestador + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + True + + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-close + True + GTK_RELIEF_NORMAL + True + -7 + + + + + + True + True + True + Seleccionar + True + GTK_RELIEF_NORMAL + True + 0 + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + 8 + True + 2 + 2 + False + 8 + 8 + + + + True + Nombre : + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + True + True + True + 0 + + True + * + False + + + 1 + 2 + 0 + 1 + + + + + + + True + GTK_BUTTONBOX_END + 0 + + + + True + True + True + gtk-find + True + GTK_RELIEF_NORMAL + True + + + + + + 0 + 2 + 1 + 2 + fill + + + + + + + + + + True + <b>Criterios de Búsqueda</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + True + + + + + + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + 12 + True + True + GTK_POLICY_ALWAYS + GTK_POLICY_ALWAYS + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + False + False + True + False + False + False + + + + + + + + + + True + <b>Coincidencias</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + + diff --git a/demo/glade/pedido_autorizacion_manual.glade b/demo/glade/pedido_autorizacion_manual.glade index 53569b4..fea44da 100644 --- a/demo/glade/pedido_autorizacion_manual.glade +++ b/demo/glade/pedido_autorizacion_manual.glade @@ -305,6 +305,7 @@ True GTK_RELIEF_NORMAL True + 2 diff --git a/demo/src/Controlador/PrestadoresController.cs b/demo/src/Controlador/PrestadoresController.cs index 4cba074..8be00da 100644 --- a/demo/src/Controlador/PrestadoresController.cs +++ b/demo/src/Controlador/PrestadoresController.cs @@ -21,6 +21,15 @@ public class PrestadoresController : Controller return ObjectSetToArrayList (result); } + public ArrayList Buscar (string nombre) + { + Prestador c = new Prestador (); + c.Nombre = nombre; + ObjectSet result = Db.get (c); + + return ObjectSetToArrayList (result); + } + /* TODO : Dejo los campos importantes, no tiene sentido poner los datos extra para la demo */ public void AgregarPrestador (string cuit, string nombre, string email) { diff --git a/demo/src/Vistas/BuscarPrestador.cs b/demo/src/Vistas/BuscarPrestador.cs new file mode 100644 index 0000000..64de0dc --- /dev/null +++ b/demo/src/Vistas/BuscarPrestador.cs @@ -0,0 +1,84 @@ + +using System; +using System.Collections; +using Gtk; +using Glade; + +using Controlador.Afiliacion; +using Dominio.Autorizaciones; +using Dominio.Planes; +using Dominio.Afiliados; +using Dominio; + +public class VBuscarPrestador +{ + Glade.XML xml; + string retorno = null; + + + [Widget] TreeView lista; + + /* Busqueda */ + [Widget] Entry nombre; + + public VBuscarPrestador () + { + xml = new Glade.XML (null, "buscar_prestador.glade", "buscar_prestador", null); + xml.Autoconnect (this); + + lista.Model = new ListStore (typeof(string), typeof(string), typeof (string)); + + /* Columnas */ + lista.HeadersVisible = true; + lista.AppendColumn ("CUIT", new CellRendererText (), "text", 0); + lista.AppendColumn ("Nombre", new CellRendererText (), "text", 1); + lista.AppendColumn ("eMail", new CellRendererText (), "text", 2); + } + + public void OnBuscarPrestador (object o, EventArgs args) + { + + PrestadoresController c = new PrestadoresController (); + ListStore store = (ListStore)lista.Model; + store.Clear (); + string s=null; + if (nombre.Text.Equals("") == false) + s = nombre.Text; + + ArrayList lst = c.Buscar (s); + foreach (Prestador p in lst) { + TreeIter i = store.Append (); + store.SetValue (i, 0, p.Cuit); + store.SetValue (i, 1, p.Nombre); + store.SetValue (i, 2, p.Email); + } + + c.Dispose (); + } + + public void OnDialogResponse (object o, ResponseArgs args) + { + if (args.ResponseId == ResponseType.Cancel) + return; + + /* Todo el seleccionado. TODO : abortar si no hay nada seleccionado! :) */ + + TreeSelection fromSel = lista.Selection; + TreeIter iter; + TreeModel model; + + if (fromSel.GetSelected (out model, out iter)) { + retorno = (string)model.GetValue (iter, 0); + } + } + + public string Run () + { + Dialog w = (Dialog)xml.GetWidget ("buscar_prestador"); + w.Run (); + w.Destroy (); + + return retorno; + } +} + diff --git a/demo/src/Vistas/PedidoAutorizacionManual.cs b/demo/src/Vistas/PedidoAutorizacionManual.cs index 2eacfc5..4d453ab 100644 --- a/demo/src/Vistas/PedidoAutorizacionManual.cs +++ b/demo/src/Vistas/PedidoAutorizacionManual.cs @@ -5,6 +5,7 @@ using Gtk; using Glade; using Controlador.Afiliacion; +using Controlador; using Dominio.Afiliados; using Dominio.Autorizaciones; using Dominio.Planes; @@ -32,14 +33,16 @@ public class VPedidoAutorizacionManual public void OnAfiliadoChanged (object o, EventArgs args) { - Console.WriteLine (afiliado.Text); AfiliadoSolicitanteController c = new AfiliadoSolicitanteController (); try { Afiliado a = c.ExisteAfiliado (Int32.Parse (afiliado.Text)); if (a != null) { - lbl_deuda.Text = "Existe afiliado"; + if (a.Moroso == 0) + lbl_deuda.Markup = "El Afiliado está al día con la cuota"; + else + lbl_deuda.Markup = String.Format ("El Afiliado adeuda {0} meses", a.Moroso); } else - lbl_deuda.Text = "No existe afiliado"; + lbl_deuda.Markup = "El código de afiliado es inválido"; } catch (Exception e) { } finally { @@ -63,10 +66,25 @@ public class VPedidoAutorizacionManual prestacion.Text = r; } + public void OnBuscarPrestador (object o, EventArgs args) + { + VBuscarPrestador v = new VBuscarPrestador (); + string r = v.Run (); + if (r != null) + cuit.Text = r; + } + public void OnResponse (object o, ResponseArgs args) { if (args.ResponseId == ResponseType.Cancel) return; + + AutorizacionController c = new AutorizacionController (DateTime.Now); + if (c.guardarAutorizacionManual (prestacion.Text, cuit.Text, Int32.Parse (afiliado.Text), observaciones.Buffer.Text) == false) + Console.WriteLine ("ERROR AL CARGAR EL PEDIDO"); + else + Console.WriteLine ("PEDIDO CARGADO"); + c.Dispose (); } public void Run ()