]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Vistas/MantenerPlanes.cs
* Buscar Afiliado y Buscar Prestaciones integrados en la ventana de pedido
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / MantenerPlanes.cs
index 1183a40c7d5202f8d1724230a18d453e381a9d9d..2405cb8ce6de9f430a1e63a82fed8a1af5f27e25 100644 (file)
@@ -38,12 +38,13 @@ public class VMantenerPlanes
                xml = new Glade.XML (null, "mantener_planes.glade", "mantener_planes", null);
                xml.Autoconnect (this);
 
-               ListStore m = new ListStore (typeof(string), typeof(float), typeof(float));
+               ListStore m = new ListStore (typeof(int), 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);
+               lista.AppendColumn ("Código", new CellRendererText (), "text", 0);
+               lista.AppendColumn ("Descripción", new CellRendererText (), "text", 1);
+               lista.AppendColumn ("Categoría", new CellRendererText (), "text", 2);
+               lista.AppendColumn ("Permanencia Mínima", new CellRendererText (), "text", 3);
 
                CargarPlanes ();
        }
@@ -57,9 +58,10 @@ public class VMantenerPlanes
                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);
+                       store.SetValue (iter, 0, p.Codigo);
+                       store.SetValue (iter, 1, p.Descripcion);
+                       store.SetValue (iter, 2, p.Categoria);
+                       store.SetValue (iter, 3, p.PermanenciaMinima);
                }
 
                planc.Dispose ();
@@ -89,6 +91,29 @@ public class VMantenerPlanes
                CargarPlanes ();
        }
 
+       private void CargarCoberturas (int codplan)
+       {
+               ListStore store = (ListStore)coberturas.Model;
+               store.Clear ();
+
+               planc = new PlanesController ();
+               ArrayList lst = planc.ObtenerCoberturas (codplan);
+
+               foreach (Cobertura c in lst) {
+                       TreeIter iter = store.Append ();
+                       store.SetValue (iter, 0, c.Prestacion.Codigo);
+                       store.SetValue (iter, 1, c.Carencia);
+                       store.SetValue (iter, 2, c.Porcentaje);
+                       store.SetValue (iter, 3, c.LimiteAnual);
+                       if (c.TipoAutorizacion == ETipoAutorizacion.MANUAL)
+                               store.SetValue (iter, 4, "Manual");
+                       else
+                               store.SetValue (iter, 4, "Automatica");
+               }
+
+               planc.Dispose ();
+       }
+
        public void OnAltaPlan (object o, ResponseArgs args)
        {
                if (args.ResponseId == ResponseType.Cancel)
@@ -103,7 +128,7 @@ public class VMantenerPlanes
                planc.CrearPlan (desc, cat, perma);
                TreeModel model = coberturas.Model;
 
-               model.Foreach (AgregarCoberturaAlPlan);
+#warning               model.Foreach (AgregarCoberturaAlPlan());
 
                planc.CommitPlan ();
                planc.Dispose ();
@@ -123,11 +148,36 @@ public class VMantenerPlanes
                        tipo = ETipoAutorizacion.AUTOMATICA;
 
                planc.AgregarCobertura (codprestador, carencia, percent, limite, tipo);
-               return true;
+               Console.WriteLine ("Agrege una cobertura");
+               return false;
        }
 
        public void OnProperties (object o, EventArgs args)
        {
+               alta_plan_xml = new Glade.XML (null, "mantener_planes.glade", "alta_plan", null);
+               alta_plan_xml.Autoconnect (this);
+       
+               coberturas.Model = new ListStore (typeof(int), typeof(float), typeof (float), typeof (int), typeof(string));
+               coberturas.HeadersVisible = true;
+               coberturas.AppendColumn ("Prestacion", new CellRendererText (), "text", 0);
+               coberturas.AppendColumn ("Carencia", new CellRendererText (), "text", 1);
+               coberturas.AppendColumn ("Cobertura", new CellRendererText (), "text", 2);
+               coberturas.AppendColumn ("Limite Anual", new CellRendererText (), "text", 3);
+               coberturas.AppendColumn ("Tipo", new CellRendererText (), "text", 4);
+               
+               TreeSelection sel = lista.Selection;
+               TreeModel model;
+               TreeIter iter;
+
+               sel.GetSelected (out model, out iter);
+               int codplan = (int)model.GetValue (iter, 0);
+
+               CargarCoberturas (codplan);     
+               Dialog w = (Dialog)alta_plan_xml.GetWidget ("alta_plan");
+               w.Run ();
+               w.Destroy ();
+
+               CargarPlanes ();
        }
        
        public void OnDelete (object o, EventArgs args)