]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - carpeta/disenio_grafico/src/Controlador/AfiliadoSolicitanteController.cs
* Implemento IDisposable y arreglo el codigo
[z.facultad/75.10/miklolife.git] / carpeta / disenio_grafico / src / Controlador / AfiliadoSolicitanteController.cs
1 namespace Controlador {
2 namespace Afiliacion {
3
4 using Dominio.Afiliados;
5 using Dominio.Planes;
6 using Dominio;
7 using com.db4o;
8
9 using System;
10 using System.Collections;
11
12 public class AfiliadoSolicitanteController : IDisposable
13 {
14         private ArrayList _afiliados;
15         private ArrayList _solicitantes;
16         private ObjectContainer db;
17
18         public AfiliadoSolicitanteController ()
19         {
20                 db = Db4o.openFile("os.yap");
21         }
22
23         public void Dispose ()
24         {
25                 db.close ();
26         }
27
28         public ArrayList obtenerSolicitantesAfiliar ()
29         {
30                 return _solicitantes;
31         }
32
33         public bool ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc)
34         {
35                 foreach (Afiliado afil in _afiliados) {
36                         if ((afil.TipoDocumento == tipoDoc) && (afil.NroDocumento == nroDoc))
37                                 return true;
38                 }
39                 return false;
40         }
41
42         public bool ExisteAfiliado (int codigo)
43         {
44                 foreach (Afiliado afil in _afiliados) {
45                         if (afil.Codigo == codigo)
46                                 return true;
47                 }
48                 return false;
49         }
50
51         public ArrayList ObtenerFamiliares (ETipoDocumento tipoDoc, int nroDoc)
52         {
53                 ArrayList salida = new ArrayList ();
54                 /* Afiliado a = GETAFILIADO(tipoDoc, nroDoc
55                  * foreach(Solicitante s in _solicitantes) 
56                  *      if (s.Titular == a)
57                  *              salida.Add (s)
58                  **/
59                 return salida;
60         }
61         
62         public bool afiliarTitular (ETipoDocumento tipoDoc, int nroDo, Plan plan)
63         {
64                 try {
65                         //do something with db4o
66                 }
67                 catch (Exception e){}
68                 return true;
69         }
70
71         public ArrayList Buscar (ETipoDocumento tipoDoc, int nroDoc)
72         {
73                 ArrayList salida = new ArrayList ();
74                 /* Hacer busqueda */
75                 return salida;
76         }
77
78         public void EstablecerPendiente() {}
79         public void Visitado () {}
80         public void EliminarSolicitante () {}
81
82         public bool ExisteSolicitante (ETipoDocumento tipoDoc, int nroDoc)
83         {
84                 Solicitante c = new Solicitante (tipoDoc, nroDoc, null, null);
85                 
86                 bool existe = false;
87                 try {
88                         //do something with db4o
89                         ObjectSet result = db.get(c);
90             if (result.next() != null)
91                                 existe = true;
92                 }
93                 catch (Exception e) {
94                         Console.WriteLine (e);
95                 }
96                 return existe;
97         }
98
99         public void AgregarSolicitante (
100                 ETipoDocumento tipoDoc, int nroDoc, string nombre, string apellido, string email,
101                 DateTime fechaNac, string calle, int numero, int piso, string dpto, string telefono,
102                 ESexo sexo, string disponibilidad, int cantidadfamiliares, string observaciones
103                 )
104         {
105                 Solicitante s = new Solicitante (tipoDoc, nroDoc, nombre, apellido);
106                 s.EMail = email;
107                 s.FechaNacimiento = fechaNac;
108                 s.Sexo = sexo;
109                 s.Disponibilidad = disponibilidad;
110                 s.Familiares = cantidadfamiliares;
111                 s.Observaciones = observaciones;
112                 s.Pendiente = true;
113
114                 /* La direccion */
115                 SDireccion d = new SDireccion ();
116                 d.Calle = calle;
117                 d.Numero = numero;
118                 d.Piso = piso;
119                 d.Departamento = dpto;
120                 d.CodigoPostal = "";
121                 d.Provincia = EProvincia.RIO_NEGRO;
122                 d.Telefono = telefono;
123
124                 s.Direccion = d;
125
126                 SaveSolicitante (s);
127         }
128
129         public void EliminarAfiliado () {}
130         public void ModificarAfiliado () {}
131                 
132         private bool SaveAfiliado (Afiliado a)
133         {
134                 /* Salva en la DB */
135                 return true;
136         }
137
138         private bool SaveSolicitante (Solicitante s)
139         {
140                 try {
141                         //do something with db4o
142                         db.set (s);
143                 }
144                 catch (Exception e) {
145                         Console.WriteLine (e);
146                 }
147                 return true;
148         }
149
150         private Solicitante GetSolicitante (ETipoDocumento tipoDoc, int nroDoc)
151         {
152                 Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
153
154                 ArrayList lst = GetSolicitantes (s);
155
156                 if (lst.Count == 0)
157                         return null;
158
159                 return (Solicitante)lst[0];
160         }
161
162         private ArrayList GetSolicitantes (Solicitante s)
163         {
164                 ArrayList lst = new ArrayList ();
165                 try {
166                         ObjectSet result = db.get(s);
167                         if (result == null)
168                                 return lst;
169         
170                         while ((s = (Solicitante)result.next ()) != null)       {
171                                 lst.Add (s);
172                         }
173                 }
174                 catch (Exception e) {
175                         Console.WriteLine (e);
176                 }
177                 return lst;
178         }
179         
180         public ArrayList ObtenerSolicitantesPendientes ()
181         {
182                 Solicitante s = new Solicitante (0, 0, null, null);
183                 Promotor p = null; // new Promotor (0, 0, null, null);
184                 s.Promotor = p;
185                 return GetSolicitantes (s);
186         }
187
188         public void AsociarPromotor (ETipoDocumento tipoDoc, int nroDoc, int promotor)
189         {
190                 try {
191                         Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
192                         ObjectSet result = db.get(s);
193
194                         s = (Solicitante)result.next ();
195                         Promotor p = new Promotor (ETipoDocumento.DNI, 12345678, "123", "123");
196                         s.Promotor = p;
197                         db.set(s);
198                 }
199                 catch (Exception e) {
200                         Console.WriteLine (e);
201                 }
202         }
203
204 }
205
206 }
207 }
208