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(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);
+
+ 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)
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 (string), typeof (float));
+ 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);
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)
TreeIter nuevo = store.Append ();
store.SetValue (nuevo, 0, Int32.Parse (codigo_prestacion.Text));
- store.SetValue (nuevo, 1, (float)Double.Parse (categoria.Text));
- store.SetValue (nuevo, 2, descripcion.Text));
- store.SetValue (nuevo, 3, Int32.Parse (codigo_prestacion.Text));
+ store.SetValue (nuevo, 1, (float)Double.Parse (carencia.Text));
+ store.SetValue (nuevo, 2, (float)cobertura.Value);
+ store.SetValue (nuevo, 3, limite_anual.ValueAsInt);
+ if (tipo_auth.Active == true)
+ store.SetValue (nuevo, 4, "Manual");
+ else
+ store.SetValue (nuevo, 4, "Automatica");
}
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");