using Controlador.Afiliacion;
using Dominio.Afiliados;
+using Dominio.Autorizaciones;
+using Dominio.Planes;
using Dominio;
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)
Dialog w = (Dialog)alta_plan_xml.GetWidget ("alta_plan");
w.Run ();
w.Destroy ();
+
+ CargarPlanes ();
}
public void OnAltaPlan (object o, ResponseArgs args)
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)
w.Destroy ();
}
+ public void OnBuscarPrestacion (object o, EventArgs args)
+ {
+ VBuscarPrestacion v = new VBuscarPrestacion ();
+ string r = v.Run ();
+
+ if (r != null) {
+ codigo_prestacion.Text = r;
+ }
+ }
+
public void Run ()
{
Dialog w = (Dialog)xml.GetWidget ("mantener_planes");