using System; using System.Collections; using Gtk; using Glade; using Dominio.Afiliados; using Dominio.Planes; using Dominio.Autorizaciones; using com.db4o; using com.db4o.query; public class App { Dialog wConsultarAfiliado; ArrayList lst; Glade.XML xmla; [Widget] Image logo; #region Tests private static void EjecutarTests() { Tests.TestsAutorizacion.Instancia.EjecutarTodos(); Console.Read(); /* Controlador.RecibirPrestacionesController rpc = new Controlador.RecibirPrestacionesController(); using ( rpc ) { rpc.InsertarDatosNecesarios(); rpc.procesarInfoRecibida(); } */ //Acá pueden agregar más, si quieren } #endregion Tests #region Entry Point static public void Main (string[] args) { if ( args.Length > 0) { if (args[0].Equals ("--test")) { EjecutarTests(); return; } Console.WriteLine ("Parametro no válido"); return; } new App (); } #endregion Entry Point Glade.XML gxml; public App () { Application.Init(); gxml = new Glade.XML (null, "main.glade", "main", null); gxml.Autoconnect (this); #warning Descomentar para inicializar la base de datos con algunos valores de prueba ! logo.FromFile = "logo.png"; InitDemo (); Application.Run(); } private void InitDemo () { /* Algunas categorias */ Categoria c1 = new Categoria (); c1.Codigo = 1; c1.Nombre = "Odontologia"; Categoria c2 = new Categoria (); c2.Codigo = 2; c2.Nombre = "Traumatologia"; Prestacion p1 = new Prestacion (); p1.Codigo = "30303"; p1.Nombre = "Extracion Muelas de Juicio"; p1.Categoria = c1; Prestacion p2 = new Prestacion (); p2.Codigo = "30101"; p2.Nombre = "Aplique de Fluor"; p2.Categoria = c1; Prestacion p3 = new Prestacion (); p3.Codigo = "661095"; p3.Nombre = "Yeso parcial"; p3.Categoria = c2; Prestacion p4 = new Prestacion (); p4.Codigo = "201011"; p4.Nombre = "Aplique clavos fractura multiple"; p4.Categoria = c2; Plan plan = new Plan (1.0f); plan.Descripcion = "Plan Basico"; plan.PermanenciaMinima = 2; plan.Codigo = 99; Cobertura cob = new Cobertura (p1, 1.0f, 15.0f); plan.AgregarCobertura (cob); /* Inicio afiliados */ Afiliado afil = new Afiliado (987); afil.TipoDocumento = ETipoDocumento.DNI; afil.NroDocumento = 27000193; afil.PlanActual = plan; Afiliado afil2 = new Afiliado (666); afil.TipoDocumento = ETipoDocumento.DNI; afil.NroDocumento = 27000193; afil.PlanActual = plan; /* Inicio prestadores */ Prestador prestador = new Prestador ("30-12345678-1"); prestador.Nombre = "DePrueba"; prestador.Email = "DePrueba@mail.com"; p1.AgregarPrestador (prestador); p2.AgregarPrestador (prestador); p3.AgregarPrestador (prestador); p4.AgregarPrestador (prestador); /* Autorizaciones */ AutorizacionManual auth1 = new AutorizacionManual (new DateTime(2005, 7, 1)); auth1.FechaVencimiento = auth1.FechaSolicitud.AddDays (60); auth1.FechaResolucion = auth1.FechaSolicitud.AddDays (1); auth1.PorcentajeCobertura = 12.5f; auth1.Prestador = prestador; auth1.Prestacion = p1; auth1.Afiliado = afil; auth1.Aprobada = true; auth1.Codigo = 88; /* Autorizaciones */ AutorizacionManual auth2 = new AutorizacionManual (new DateTime(2005, 5, 1)); auth2.FechaVencimiento = auth2.FechaSolicitud.AddDays (60); auth1.FechaResolucion = auth2.FechaSolicitud.AddDays (1); auth2.Aprobada = true; auth2.PorcentajeCobertura = 90.0f; auth2.Prestador = prestador; auth2.Prestacion = p3; auth2.Afiliado = afil2; auth2.Codigo = 112; AutorizacionAutomatica auth3 = new AutorizacionAutomatica(new DateTime (2005, 6, 28)); auth3.FechaVencimiento = auth3.FechaSolicitud.AddDays (60); auth3.Aprobada = true; auth3.PorcentajeCobertura = 12.5f; auth3.Prestador = prestador; auth3.Prestacion = p1; auth3.Afiliado = afil; auth3.Codigo = 112; AutorizacionAutomatica auth4 = new AutorizacionAutomatica(new DateTime (2005, 6, 28)); auth4.FechaVencimiento = auth4.FechaSolicitud.AddDays (60); auth4.Aprobada = true; auth4.PorcentajeCobertura = 20.0f; auth4.Prestador = prestador; auth4.Prestacion = p2; auth4.Afiliado = afil; auth4.Codigo = 112; ObjectContainer db; db = Db4o.openFile("os.yap"); db.set (auth1); db.set (auth2); db.set (auth3); db.set (auth4); db.set (p1); db.set (p2); db.set (p3); db.set (p4); db.set (afil); db.set (afil2); db.close (); } public void OnSalirActivate (object o, EventArgs args) { Application.Quit (); } public void OnDeleteEvent(object o, DeleteEventArgs args) { Application.Quit (); } public void OnIngresarSolicitud(object o, EventArgs args) { VIngresarSolicitud v = new VIngresarSolicitud (); v.Run (); } public void OnEmitirHojaDeRuta (object o, EventArgs args) { VEmitirHojaDeRuta v = new VEmitirHojaDeRuta (); v.Run (); } public void OnAgregarAfiliado (object o, EventArgs args) { VAgregarAfiliado v = new VAgregarAfiliado (); v.Run (); } public void OnMantenerPlanes (object o, EventArgs args) { VMantenerPlanes v = new VMantenerPlanes (); v.Run (); } public void OnMantenerPrestaciones (object o, EventArgs args) { VMantenerPrestaciones v = new VMantenerPrestaciones (); v.Run (); } public void OnMantenerPrestadores (object o, EventArgs args) { VMantenerPrestadores v = new VMantenerPrestadores (); v.Run (); } public void OnRegistrarVisitas (object o, EventArgs args) { VRegistrarVisitas v = new VRegistrarVisitas (); v.Run (); } public void OnPedidoAutorizacionManual (object o, EventArgs args) { VPedidoAutorizacionManual v = new VPedidoAutorizacionManual (); v.Run (); } public void OnActualizarAutorizaciones (object o, EventArgs args) { VRevisarAutorizacionManual v = new VRevisarAutorizacionManual (); v.Run (); } public void OnConsultarAfiliado (object o, EventArgs args) { VConsultarAfiliado v = new VConsultarAfiliado (); v.Run (); } public void OnConsultarAutorizaciones (object o, EventArgs args) { VConsultarAutorizaciones v = new VConsultarAutorizaciones (); v.Run (); } public void OnPedidoAutorizacionAutomatica (object o, EventArgs args) { } ProgressBar progreso; public void OnProcesarInformes (object o, EventArgs args) { /* Recibir y Cotejar */ Dialog dialog = new Dialog ("Espere por favor ...", (Window)gxml.GetWidget ("main"), Gtk.DialogFlags.DestroyWithParent); dialog.Modal = true; progreso = new ProgressBar (); dialog.VBox.PackStart (new Label ("Procesando ..."), false, false, 12); dialog.VBox.PackStart (progreso, false, false, 12); dialog.ShowAll (); Controlador.RecibirPrestacionesController rpc = new Controlador.RecibirPrestacionesController(); using ( rpc ) { //rpc.InsertarDatosNecesarios(); rpc.procesarInfoRecibida(this); } dialog.Destroy (); MessageDialog md = new MessageDialog ((Window)gxml.GetWidget ("main"), DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.Close, "El proceso terminó satisfactoriamente."); int result = md.Run (); md.Destroy(); } public void UpdateIdle () { progreso.Pulse (); while (Gtk.Global.EventsPending) Gtk.Main.IterationDo (false); } }