1 namespace Controlador {
4 using Dominio.Afiliados;
11 using System.Collections;
13 public class AfiliadoSolicitanteController : Controller
15 private ArrayList _afiliados;
16 private ArrayList _solicitantes;
18 public AfiliadoSolicitanteController ():base()
23 public ArrayList ObtenerSolicitantesAfiliar ()
25 Query query = Db.query();
26 query.constrain(typeof(Solicitante));
27 query.descend("_promotor").constrain(null);
28 query.descend("_pendiente").constrain(false);
29 query.descend("_titular").constrain(null);
31 ObjectSet result = query.execute();
32 ArrayList lst = ObjectSetToArrayList (result);
37 public ArrayList ObtenerFamiliaresAfiliar (Solicitante s)
39 Query query = Db.query();
40 query.constrain(typeof(Solicitante));
41 query.descend("_promotor").constrain(null);
42 query.descend("_pendiente").constrain(false);
43 query.descend("_titular").constrain(s);
45 ObjectSet result = query.execute();
46 ArrayList lst = ObjectSetToArrayList (result);
51 public Afiliado ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc)
53 Afiliado afil = new Afiliado (tipoDoc, nroDoc);
54 ObjectSet result = Db.get (afil);
55 afil = (Afiliado)result.next ();
60 public Afiliado ExisteAfiliado (int codigo)
62 Afiliado afil = new Afiliado (ETipoDocumento.NONE, 0);
64 ObjectSet result = Db.get (afil);
65 afil = (Afiliado)result.next ();
70 public ArrayList ObtenerFamiliares (ETipoDocumento tipoDoc, int nroDoc)
72 ArrayList salida = new ArrayList ();
73 /* Afiliado a = GETAFILIADO(tipoDoc, nroDoc
74 * foreach(Solicitante s in _solicitantes)
81 public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, int codplan)
83 /* Obtengo el Solicitante asi luego lo borro */
84 Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
87 ArrayList a = GetSolicitantes (s);
88 s = (Solicitante)a[0];
91 Console.WriteLine ("ERROR");
95 ObjectSet r = Db.get (c);
96 Plan plan = r.next () as Plan;
98 /* Creo el afiliado */
99 Afiliado afil = new Afiliado (s, plan, DateTime.Now);
100 AutoIncrementable i = new AutoIncrementable ();
101 afil.Codigo = i.NextAfiliado ();
104 /* Agrego el afiliado */
106 /* Saco el solicitante */
112 public Afiliado AfiliarFamiliar (Afiliado AfiTi, ETipoDocumento tipoDoc, int nroDoc, Plan plan)
114 /* Obtengo el Solicitante asi luego lo borro */
115 Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
118 ArrayList a = GetSolicitantes (s);
119 s = (Solicitante)a[0];
122 Console.WriteLine ("ERROR");
124 /* Creo el afiliado */
125 Afiliado afil = new Afiliado (s, plan, DateTime.Now);
126 afil.Titular = AfiTi;
127 AutoIncrementable i = new AutoIncrementable ();
128 afil.Codigo = i.NextAfiliado ();
131 /* Agrego el afiliado */
133 /* Saco el solicitante */
138 public ArrayList Buscar (ETipoDocumento tipoDoc, int nroDoc)
140 ArrayList salida = new ArrayList ();
145 public void EstablecerPendiente() {}
146 public void Visitado () {}
147 public void EliminarSolicitante () {}
149 public bool ExisteSolicitante (ETipoDocumento tipoDoc, int nroDoc)
151 Solicitante c = new Solicitante (tipoDoc, nroDoc, null, null);
155 //do something with Db4o
156 ObjectSet result = Db.get(c);
157 if (result.next() != null)
160 catch (Exception e) {
161 Console.WriteLine (e);
166 public void AgregarSolicitante (
167 ETipoDocumento tipoDoc, int nroDoc, string nombre, string apellido, string email,
168 DateTime fechaNac, string calle, int numero, int piso, string dpto, string telefono,
169 ESexo sexo, string disponibilidad, int cantidadfamiliares, string observaciones
172 Solicitante s = new Solicitante (tipoDoc, nroDoc, nombre, apellido);
174 s.FechaNacimiento = fechaNac;
176 s.Disponibilidad = disponibilidad;
177 s.Familiares = cantidadfamiliares;
178 s.Observaciones = observaciones;
183 SDireccion d = new SDireccion ();
187 d.Departamento = dpto;
189 d.Provincia = EProvincia.RIO_NEGRO;
190 d.Telefono = telefono;
197 public void EliminarAfiliado () {}
198 public void ModificarAfiliado () {}
200 private bool SaveAfiliado (Afiliado a)
206 public bool SaveSolicitante (Solicitante s)
209 //do something with db4o
212 catch (Exception e) {
213 Console.WriteLine (e);
218 public Solicitante GetSolicitante (ETipoDocumento tipoDoc, int nroDoc)
220 Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
222 ArrayList lst = GetSolicitantes (s);
227 return (Solicitante)lst[0];
230 public ArrayList GetSolicitantes (Solicitante s)
232 ArrayList lst = new ArrayList ();
234 ObjectSet result = Db.get(s);
238 while ((s = (Solicitante)result.next ()) != null) {
242 catch (Exception e) {
243 Console.WriteLine (e);
248 public void AsociarPromotor (ETipoDocumento tipoDoc, int nroDoc, int promotor)
251 Solicitante s = GetSolicitante (tipoDoc, nroDoc);
253 Promotor p = new Promotor (ETipoDocumento.DNI, 12345678, "123", "123");
258 catch (Exception e) {
259 Console.WriteLine (e);
263 public ArrayList BuscarAfiliados (ETipoDocumento tipoDoc, int nroDoc, int codigo, string apellido)
265 Afiliado a = new Afiliado (codigo);
266 a.TipoDocumento = tipoDoc;
267 a.NroDocumento = nroDoc;
268 a.Apellido = apellido;
270 Query query = Db.query();
271 query.constrain(typeof(Afiliado));
273 query.descend("_codigo").constrain(codigo);
274 if (tipoDoc != ETipoDocumento.NONE)
275 query.descend("_tipoDocumento").constrain(tipoDoc);
277 query.descend("_nroDocumento").constrain(nroDoc);
278 if (apellido != null)
279 query.descend("_apellido").constrain(apellido);
281 ObjectSet result = query.execute ();
282 return ObjectSetToArrayList (result);