]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Vistas/RevisarAutorizacionManual.cs
Para guille :)
[z.facultad/75.10/miklolife.git] / demo / src / Vistas / RevisarAutorizacionManual.cs
index 7aab43343f915fc4b6b39112ce6de0e4d9b6de68..eb851dd36cef5c42b11b4b66a6424f7338052c17 100644 (file)
@@ -9,36 +9,165 @@ using Controlador;
 using Controlador.Afiliacion;
 using Dominio.Afiliados;
 using Dominio.Autorizaciones;
 using Controlador.Afiliacion;
 using Dominio.Afiliados;
 using Dominio.Autorizaciones;
+using Dominio.Planes;
 using Dominio;
 
 public class VRevisarAutorizacionManual
 {
        Glade.XML xml;
 using Dominio;
 
 public class VRevisarAutorizacionManual
 {
        Glade.XML xml;
+       Glade.XML xml_revisar;
 
        [Widget] TreeView lista;
 
 
        [Widget] TreeView lista;
 
+       /* Revisar Widgets */
+       [Widget] Entry codigo;
+       [Widget] Entry fechaSolicitud;
+       [Widget] Entry prestacion_nombre;
+       [Widget] Entry prestacion_codigo;
+       [Widget] Entry prestador_nombre;
+       [Widget] Entry prestador_cuit;
+       [Widget] Entry prestador_email;
+       [Widget] Entry afiliado_nombre;
+       [Widget] Entry afiliado_apellido;
+       [Widget] Entry afiliado_documento;
+       [Widget] Entry afiliado_codigo;
+       [Widget] Label estado_cuenta;
+       [Widget] Label cobertura;
+       [Widget] Entry consumo_actual;
+       [Widget] Entry consumo_limite;
+       [Widget] TextView observaciones;
+
+       float percent_cobertura;
+
        public VRevisarAutorizacionManual ()
        {
                xml = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "autorizaciones_pendientes", null);
                xml.Autoconnect (this);
 
        public VRevisarAutorizacionManual ()
        {
                xml = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "autorizaciones_pendientes", null);
                xml.Autoconnect (this);
 
-               /* Creo los modelos para los TreeView y el ComboBox 
-                                                   Tipo Doc        NroDoc         Apellido       Nombre     */
-               lista.Model = new ListStore (typeof(string), typeof(int), typeof (string), typeof (string));
+               lista.Model = new ListStore (typeof(int), typeof(string), typeof (string), typeof (string), typeof(string));
 
                /* Columnas */
                lista.HeadersVisible = true;
                lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0);
                lista.AppendColumn ("Fecha Solicitud", new CellRendererText (), "text", 1);
                lista.AppendColumn ("Prestacion", new CellRendererText (), "text", 2);
 
                /* Columnas */
                lista.HeadersVisible = true;
                lista.AppendColumn ("Codigo", new CellRendererText (), "text", 0);
                lista.AppendColumn ("Fecha Solicitud", new CellRendererText (), "text", 1);
                lista.AppendColumn ("Prestacion", new CellRendererText (), "text", 2);
-               lista.AppendColumn ("Afiliado", new CellRendererText (), "text", 2);
-               lista.AppendColumn ("Prestador", new CellRendererText (), "text", 3);
+               lista.AppendColumn ("Afiliado", new CellRendererText (), "text", 3);
+               lista.AppendColumn ("Prestador", new CellRendererText (), "text", 4);
        
                CargarAutorizaciones ();
        }
 
        public void OnRevisar (object o, EventArgs args)
        {
        
                CargarAutorizaciones ();
        }
 
        public void OnRevisar (object o, EventArgs args)
        {
+               /* Muestro la ventana */
+               xml_revisar = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "revisar_autorizacion", null);
+               xml_revisar.Autoconnect (this);
+       
+               TreeSelection sel = lista.Selection;
+               TreeModel model;
+               TreeIter iter;
+
+               sel.GetSelected (out model, out iter);
+               int cod = (int)model.GetValue (iter, 0);
+       
+               AutorizacionController c = new AutorizacionController (DateTime.MinValue);
+       
+               AutorizacionManual a;
+               try {
+                       a = (AutorizacionManual)c.obtener (cod);
+               } catch (Exception e) {
+                       Console.WriteLine ("No se pudo obtener Autorizacion");
+                       c.Dispose ();
+                       return;
+               }
+               
+               if (a == null) {
+                       Console.WriteLine ("Error al buscar autorizacion!!");
+                       c.Dispose ();
+                       return;
+               }
+       
+               codigo.Text = String.Format ("{0}", a.Codigo);
+               fechaSolicitud.Text = a.FechaSolicitud.ToString ();
+               observaciones.Buffer.Text = a.Observaciones;
+               prestacion_nombre.Text = a.Prestacion.Nombre;
+               prestacion_codigo.Text = a.Prestacion.Codigo;
+               prestador_nombre.Text = a.Prestador.Nombre;
+               prestador_cuit.Text = a.Prestador.Cuit;
+               prestador_email.Text = a.Prestador.Email;
+               afiliado_nombre.Text = a.Afiliado.Nombre;
+               afiliado_apellido.Text = a.Afiliado.Apellido;
+               afiliado_documento.Text = String.Format ("{0} {1}", a.Afiliado.TipoDocumento, a.Afiliado.NroDocumento);
+               afiliado_codigo.Text = String.Format ("{0}", a.Afiliado.Codigo);
+               if (a.Afiliado.Moroso == 0)
+                       estado_cuenta.Text = "No se registra deuda del Afiliado";
+               else
+                       estado_cuenta.Text = String.Format ("El afiliado debe {0} meses.", a.Afiliado.Moroso);
+
+               Cobertura cob;
+               if (a.Afiliado.PlanActual != null) {    
+                       cob = a.Afiliado.PlanActual.BuscarCobertura (a.Prestador, a.Prestacion);
+               } else {
+                       cob = null;
+               }
+
+               if (cob == null)
+                       cobertura.Markup = "<b>La prestacion no esta cubierta</b>";
+               else
+                       cobertura.Text = "La prestacion esta cubierta";
+
+               /* Necesitariamos un query que cuente este dato */
+               consumo_actual.Text = "1";
+               /* Necesitariamos un metodo que busque la Cobertura para este Prestador y esta Prestacion 
+                * del Plan del cliente
+                */
+               if (cob != null)
+                       consumo_limite.Text = String.Format ("{0}", cob.LimiteAnual); 
+
+               if (cob == null)
+                       percent_cobertura = 1.0f;
+               else
+                       percent_cobertura = cob.Porcentaje;     
+
+               Dialog v = (Dialog)xml_revisar.GetWidget ("revisar_autorizacion");
+               v.Run ();
+               v.Destroy ();
+
+               c.Dispose ();
+       }
+
+       public void OnRevisarResponse (object o, ResponseArgs args)
+       {
+               if (args.ResponseId == ResponseType.Close) {
+                       Console.WriteLine ("Cerrando");
+                       return; 
+               }
+
+               Glade.XML resolucion = new Glade.XML (null, "actualizar_autorizacion_manual.glade", "resolucion", null);
+               resolucion.Autoconnect (this);
+
+               Dialog v = (Dialog)resolucion.GetWidget ("resolucion");
+               v.Run ();
+
+               TextView texto = (TextView)resolucion.GetWidget ("motivo");
+               
+               string r = texto.Buffer.Text;
+
+               v.Destroy ();
+
+               float percent = 0.0f;
+               if (((int)args.ResponseId) == 0) {
+                       percent = percent_cobertura;
+               }
+               if (((int)args.ResponseId) == 1) {
+                       percent = 0.0f;
+               }
+               
+               int cod = Int32.Parse (codigo.Text);
+
+               AutorizacionController c = new AutorizacionController (DateTime.Now);
+               c.setResolucionAutorizacionManual (cod, r, percent);
+               c.Dispose ();
        }
 
        private void CargarAutorizaciones ()
        }
 
        private void CargarAutorizaciones ()