X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/8baeff9ed6b1027bc0b42eea4b322f32bfcf4e86..654bbdf445d46de05b2c9e1b269ae55a6811a0f9:/demo/src/Vistas/MantenerPlanes.cs diff --git a/demo/src/Vistas/MantenerPlanes.cs b/demo/src/Vistas/MantenerPlanes.cs index e7c139c..1183a40 100644 --- a/demo/src/Vistas/MantenerPlanes.cs +++ b/demo/src/Vistas/MantenerPlanes.cs @@ -6,6 +6,8 @@ using Glade; using Controlador.Afiliacion; using Dominio.Afiliados; +using Dominio.Autorizaciones; +using Dominio.Planes; using Dominio; public class VMantenerPlanes @@ -29,38 +31,38 @@ public class VMantenerPlanes [Widget] SpinButton limite_anual; [Widget] RadioButton tipo_auth; + PlanesController planc; + public VMantenerPlanes () { xml = new Glade.XML (null, "mantener_planes.glade", "mantener_planes", null); xml.Autoconnect (this); - ListStore m = new ListStore (typeof(string), typeof(float), typeof(int)); + ListStore m = new ListStore (typeof(string), typeof(float), typeof(float)); lista.Model = m; lista.HeadersVisible = true; lista.AppendColumn ("Descripción", new CellRendererText (), "text", 0); lista.AppendColumn ("Categoría", new CellRendererText (), "text", 1); lista.AppendColumn ("Permanencia Mínima", new CellRendererText (), "text", 2); - - TreeIter nuevo = m.Append (); - - m.SetValue (nuevo, 0, "Neo 210"); - m.SetValue (nuevo, 1, 1.0f); - m.SetValue (nuevo, 2, 1); - - nuevo = m.Append (); - m.SetValue (nuevo, 0, "Neo 310"); - m.SetValue (nuevo, 1, 2.0f); - m.SetValue (nuevo, 2, 2); - - nuevo = m.Append (); - m.SetValue (nuevo, 0, "Neo 410"); - m.SetValue (nuevo, 1, 3.0f); - m.SetValue (nuevo, 2, 4); - - nuevo = m.Append (); - m.SetValue (nuevo, 0, "Ejecutive 510"); - m.SetValue (nuevo, 1, 4.0f); - m.SetValue (nuevo, 2, 3); + + CargarPlanes (); + } + + private void CargarPlanes () + { + ListStore store = (ListStore)lista.Model; + store.Clear (); + + planc = new PlanesController (); + ArrayList lst = planc.ObtenerPlanesVigentes (); + foreach (Plan p in lst) { + TreeIter iter = store.Append (); + store.SetValue (iter, 0, p.Descripcion); + store.SetValue (iter, 1, p.Categoria); + store.SetValue (iter, 2, p.PermanenciaMinima); + } + + planc.Dispose (); } public void OnDialogResponse (object o, ResponseArgs args) @@ -83,6 +85,8 @@ public class VMantenerPlanes Dialog w = (Dialog)alta_plan_xml.GetWidget ("alta_plan"); w.Run (); w.Destroy (); + + CargarPlanes (); } public void OnAltaPlan (object o, ResponseArgs args) @@ -90,7 +94,36 @@ public class VMantenerPlanes if (args.ResponseId == ResponseType.Cancel) return; + + string desc = descripcion.Text; + float cat = (float)categoria.Value; + int perma = permanencia_minima.ValueAsInt; + + planc = new PlanesController (); + planc.CrearPlan (desc, cat, perma); + TreeModel model = coberturas.Model; + + model.Foreach (AgregarCoberturaAlPlan); + + planc.CommitPlan (); + planc.Dispose (); + } + bool AgregarCoberturaAlPlan (TreeModel model, TreePath path, TreeIter iter) + { + int codprestador = (int)model.GetValue (iter, 0); + float carencia = (float)model.GetValue (iter, 1); + float percent = (float)model.GetValue (iter, 2); + int limite = (int)model.GetValue (iter, 3); + string t = (string)model.GetValue (iter, 4); + ETipoAutorizacion tipo; + if (t.Equals ("Manual")) + tipo = ETipoAutorizacion.MANUAL; + else + tipo = ETipoAutorizacion.AUTOMATICA; + + planc.AgregarCobertura (codprestador, carencia, percent, limite, tipo); + return true; } public void OnProperties (object o, EventArgs args)