]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Main.cs
Agrego material de estudio.
[z.facultad/75.10/miklolife.git] / demo / src / Main.cs
1
2 using System;
3 using System.Collections;
4 using Gtk;
5 using Glade;
6 using Dominio.Afiliados;
7 using Dominio.Planes;
8 using Dominio.Autorizaciones;
9 using com.db4o;
10 using com.db4o.query;
11
12 public class App
13 {
14         Dialog wConsultarAfiliado;
15         ArrayList lst;
16         Glade.XML xmla;
17         [Widget] Image logo;
18
19         #region Tests
20
21         private static void EjecutarTests()
22         {
23                 Tests.TestsAutorizacion.Instancia.EjecutarTodos();
24                 
25                 Console.Read();
26         /*      
27                 Controlador.RecibirPrestacionesController rpc = new Controlador.RecibirPrestacionesController();
28                 using ( rpc )
29                 {
30                         rpc.InsertarDatosNecesarios(); 
31
32                         rpc.procesarInfoRecibida();
33                 }
34 */
35                 //Acá pueden agregar más, si quieren
36         }
37
38         #endregion Tests
39
40         #region Entry Point
41
42         static public void Main (string[] args)
43         {
44                 if ( args.Length > 0) {
45                         if (args[0].Equals ("--test")) {
46                                 EjecutarTests();
47                                 return;
48                         }
49                         Console.WriteLine ("Parametro no válido");
50                         return;
51                 }
52                 new App ();
53         }
54
55         #endregion Entry Point
56
57         Glade.XML gxml;
58         public App ()
59         {
60                 Application.Init();
61
62                 gxml = new Glade.XML (null, "main.glade", "main", null);
63                 gxml.Autoconnect (this);
64
65                 #warning Descomentar para inicializar la base de datos con algunos valores de prueba !
66                 logo.FromFile = "logo.png";
67                 InitDemo ();
68                 Application.Run();
69         }
70         
71         private void InitDemo ()
72         {
73                 /* Algunas categorias */
74                 Categoria c1 = new Categoria ();
75                 c1.Codigo = 1;
76                 c1.Nombre = "Odontologia";
77
78                 Categoria c2 = new Categoria ();
79                 c2.Codigo = 2;
80                 c2.Nombre = "Traumatologia";
81
82                 Prestacion p1 = new Prestacion ();
83                 p1.Codigo = "30303";
84                 p1.Nombre = "Extracion Muelas de Juicio";
85                 p1.Categoria = c1;
86
87                 Prestacion p2 = new Prestacion ();
88                 p2.Codigo = "30101";
89                 p2.Nombre = "Aplique de Fluor";
90                 p2.Categoria = c1;
91
92                 Prestacion p3 = new Prestacion ();
93                 p3.Codigo = "661095";
94                 p3.Nombre = "Yeso parcial";
95                 p3.Categoria = c2;
96
97                 Prestacion p4 = new Prestacion ();
98                 p4.Codigo = "201011";
99                 p4.Nombre = "Aplique clavos fractura multiple";
100                 p4.Categoria = c2;
101
102                 Plan plan = new Plan (1.0f);
103                 plan.Descripcion = "Plan Basico";
104                 plan.PermanenciaMinima = 2;
105                 plan.Codigo = 99;
106
107                 Cobertura cob = new Cobertura (p1, 1.0f, 15.0f);
108                 plan.AgregarCobertura (cob);
109
110                 /* Inicio afiliados */
111                 Afiliado afil = new Afiliado (987);
112                 afil.TipoDocumento = ETipoDocumento.DNI;
113                 afil.NroDocumento = 27000193;
114                 afil.Nombre = "Ricardo";
115                 afil.Apellido = "Markiewicz";
116                 afil.PlanActual = plan;
117                 afil.FechaNacimiento = new DateTime (1978, 11, 26);
118
119                 Afiliado afil2 = new Afiliado (666);
120                 afil2.TipoDocumento = ETipoDocumento.DNI;
121                 afil2.NroDocumento = 27000193;
122                 afil2.Nombre = "Marcos";
123                 afil2.Apellido = "Pascual";
124                 afil2.PlanActual = plan;
125                 afil2.FechaNacimiento = new DateTime (2000, 11, 26);
126         
127                 /* Inicio prestadores */
128                 Prestador prestador = new Prestador ("30-12345678-1");
129                 prestador.Nombre = "DePrueba";
130                 prestador.Email = "DePrueba@mail.com";
131
132                 p1.AgregarPrestador (prestador);
133                 p2.AgregarPrestador (prestador);
134                 p3.AgregarPrestador (prestador);
135                 p4.AgregarPrestador (prestador);
136
137                 /* Autorizaciones */
138                 AutorizacionManual auth1 = new AutorizacionManual (new DateTime(2005, 7, 1));
139                 auth1.FechaVencimiento = auth1.FechaSolicitud.AddDays (60);
140                 auth1.FechaResolucion = auth1.FechaSolicitud.AddDays (1);
141                 auth1.PorcentajeCobertura = 12.5f;
142                 auth1.Prestador = prestador;
143                 auth1.Prestacion = p1;
144                 auth1.Afiliado = afil;
145                 auth1.Aprobada = true;
146                 auth1.Codigo = 88;
147
148                 /* Autorizaciones */
149                 AutorizacionManual auth2 = new AutorizacionManual (new DateTime(2005, 5, 1));
150                 auth2.FechaVencimiento = auth2.FechaSolicitud.AddDays (60);
151                 auth1.FechaResolucion = auth2.FechaSolicitud.AddDays (1);
152                 auth2.Aprobada = true;
153                 auth2.PorcentajeCobertura = 90.0f;
154                 auth2.Prestador = prestador;
155                 auth2.Prestacion = p3;
156                 auth2.Afiliado = afil2;
157                 auth2.Codigo = 112; 
158
159                 AutorizacionAutomatica auth3 = new AutorizacionAutomatica(new DateTime (2005, 6, 28));
160                 auth3.FechaVencimiento = auth3.FechaSolicitud.AddDays (60);
161                 auth3.Aprobada = true;
162                 auth3.PorcentajeCobertura = 12.5f;
163                 auth3.Prestador = prestador;
164                 auth3.Prestacion = p1;
165                 auth3.Afiliado = afil;
166                 auth3.Codigo = 112; 
167
168                 AutorizacionAutomatica auth4 = new AutorizacionAutomatica(new DateTime (2005, 6, 28));
169                 auth4.FechaVencimiento = auth4.FechaSolicitud.AddDays (60);
170                 auth4.Aprobada = true;
171                 auth4.PorcentajeCobertura = 20.0f;
172                 auth4.Prestador = prestador;
173                 auth4.Prestacion = p2;
174                 auth4.Afiliado = afil;
175                 auth4.Codigo = 112; 
176
177                 ObjectContainer db;
178                 db = Db4o.openFile("os.yap");
179                 db.set (auth1);
180                 db.set (auth2);
181                 db.set (auth3);
182                 db.set (auth4);
183                 db.set (p1);
184                 db.set (p2);
185                 db.set (p3);
186                 db.set (p4);
187                 db.set (afil);
188                 db.set (afil2);
189                 db.close ();
190         }
191
192         public void OnSalirActivate (object o, EventArgs args)
193         {
194                 Application.Quit ();
195         }
196         
197         public void OnDeleteEvent(object o, DeleteEventArgs args)
198         {
199                 Application.Quit ();
200         }
201
202         public void OnIngresarSolicitud(object o, EventArgs args)
203         {
204                 VIngresarSolicitud v = new VIngresarSolicitud ();
205                 v.Run ();
206         }
207
208         public void OnEmitirHojaDeRuta (object o, EventArgs args)
209         {
210                 VEmitirHojaDeRuta v = new VEmitirHojaDeRuta ();
211                 v.Run ();
212         }
213
214         public void OnAgregarAfiliado (object o, EventArgs args)
215         {
216                 VAgregarAfiliado v = new VAgregarAfiliado ();
217                 v.Run ();
218         }
219
220         public void OnMantenerPlanes (object o, EventArgs args)
221         {
222                 VMantenerPlanes v = new VMantenerPlanes ();
223                 v.Run ();
224         }
225
226         public void OnMantenerPrestaciones (object o, EventArgs args)
227         {
228                 VMantenerPrestaciones v = new VMantenerPrestaciones ();
229                 v.Run ();
230         }
231
232         public void OnMantenerPrestadores (object o, EventArgs args)
233         {
234                 VMantenerPrestadores v = new VMantenerPrestadores ();
235                 v.Run ();
236         }
237
238         public void OnRegistrarVisitas (object o, EventArgs args)
239         {
240                 VRegistrarVisitas v = new VRegistrarVisitas ();
241                 v.Run ();
242         }
243
244         public void OnPedidoAutorizacionManual (object o, EventArgs args)
245         {
246                 VPedidoAutorizacionManual v = new VPedidoAutorizacionManual ();
247                 v.Run ();
248         }
249
250         public void OnActualizarAutorizaciones (object o, EventArgs args)
251         {
252                 VRevisarAutorizacionManual v = new VRevisarAutorizacionManual ();
253                 v.Run ();
254         }
255
256         public void OnConsultarAfiliado (object o, EventArgs args)
257         {
258                 VConsultarAfiliado v = new VConsultarAfiliado ();
259                 v.Run ();
260         }
261
262         public void OnConsultarAutorizaciones (object o, EventArgs args)
263         {
264                 VConsultarAutorizaciones v = new VConsultarAutorizaciones ();
265                 v.Run ();
266         }
267
268         public void OnPedidoAutorizacionAutomatica (object o, EventArgs args)
269         {
270         }
271
272         ProgressBar progreso;
273
274         public void OnProcesarInformes (object o, EventArgs args)
275         {
276                 /* Recibir y Cotejar */
277                 Dialog dialog = new Dialog ("Espere por favor ...", (Window)gxml.GetWidget ("main"), Gtk.DialogFlags.DestroyWithParent);
278                 dialog.Modal = true;
279
280                 progreso = new ProgressBar ();
281                 dialog.VBox.PackStart (new Label ("Procesando ..."), false, false, 12);
282                 dialog.VBox.PackStart (progreso, false, false, 12);
283                 dialog.ShowAll ();
284                 Controlador.RecibirPrestacionesController rpc = new Controlador.RecibirPrestacionesController();
285                 using ( rpc )
286                 {
287                         //rpc.InsertarDatosNecesarios(); 
288                         rpc.procesarInfoRecibida(this);
289                 }
290                 dialog.Destroy ();
291
292                 MessageDialog md = new MessageDialog ((Window)gxml.GetWidget ("main"), 
293                         DialogFlags.DestroyWithParent,
294                         MessageType.Info, 
295                         ButtonsType.Close, "El proceso terminó satisfactoriamente.");
296
297                 int result = md.Run ();
298                 md.Destroy();
299                          
300         }
301
302         public void UpdateIdle ()
303         {
304                 progreso.Pulse ();
305                 while (Gtk.Global.EventsPending)
306                         Gtk.Main.IterationDo (false);
307         }       
308 }
309