using Dominio.Afiliados;
using Dominio.Planes;
+using Dominio;
+using com.db4o;
+using System;
using System.Collections;
-public class AfiliadoSolicitanteController
+public class AfiliadoSolicitanteController : IDisposable
{
private ArrayList _afiliados;
private ArrayList _solicitantes;
+ private ObjectContainer db;
+
+ public AfiliadoSolicitanteController ()
+ {
+ db = Db4o.openFile("os.yap");
+ }
+
+ public void Dispose ()
+ {
+ db.close ();
+ }
public ArrayList obtenerSolicitantesAfiliar ()
{
return _solicitantes;
}
- public bool existeAfiliado (ETipoDocumento tipoDoc, int nroDoc)
+ public bool ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc)
{
foreach (Afiliado afil in _afiliados) {
if ((afil.TipoDocumento == tipoDoc) && (afil.NroDocumento == nroDoc))
return false;
}
- public bool existeAfiliado (int codigo)
+ public bool ExisteAfiliado (int codigo)
{
foreach (Afiliado afil in _afiliados) {
if (afil.Codigo == codigo)
return false;
}
- public ArrayList obtenerFamiliares (ETipoDocumento tipoDoc, int nroDoc)
+ public ArrayList ObtenerFamiliares (ETipoDocumento tipoDoc, int nroDoc)
{
ArrayList salida = new ArrayList ();
/* Afiliado a = GETAFILIADO(tipoDoc, nroDoc
public bool afiliarTitular (ETipoDocumento tipoDoc, int nroDo, Plan plan)
{
- /* Aca deberia ser :
- *
- * recibir solicitante, plan :
- *
- * Afiliado a = new Afiliado (solicitante, plan, Now())
- * _afiliados.Add (a);
- * Save (a);
- */
+ try {
+ //do something with db4o
+ }
+ catch (Exception e){}
return true;
}
- public ArrayList Buscar (/*PONER PARAMETROS DE BUSQUEDA*/)
+ public ArrayList Buscar (ETipoDocumento tipoDoc, int nroDoc)
{
ArrayList salida = new ArrayList ();
/* Hacer busqueda */
public void EstablecerPendiente() {}
public void Visitado () {}
public void EliminarSolicitante () {}
- public void ExisteSolicitante () {}
- public void AgregarSolicitante () {}
+
+ public bool ExisteSolicitante (ETipoDocumento tipoDoc, int nroDoc)
+ {
+ Solicitante c = new Solicitante (tipoDoc, nroDoc, null, null);
+
+ bool existe = false;
+ try {
+ //do something with db4o
+ ObjectSet result = db.get(c);
+ if (result.next() != null)
+ existe = true;
+ }
+ catch (Exception e) {
+ Console.WriteLine (e);
+ }
+ return existe;
+ }
+
+ public void AgregarSolicitante (
+ ETipoDocumento tipoDoc, int nroDoc, string nombre, string apellido, string email,
+ DateTime fechaNac, string calle, int numero, int piso, string dpto, string telefono,
+ ESexo sexo, string disponibilidad, int cantidadfamiliares, string observaciones
+ )
+ {
+ Solicitante s = new Solicitante (tipoDoc, nroDoc, nombre, apellido);
+ s.EMail = email;
+ s.FechaNacimiento = fechaNac;
+ s.Sexo = sexo;
+ s.Disponibilidad = disponibilidad;
+ s.Familiares = cantidadfamiliares;
+ s.Observaciones = observaciones;
+ s.Pendiente = true;
+
+ /* La direccion */
+ SDireccion d = new SDireccion ();
+ d.Calle = calle;
+ d.Numero = numero;
+ d.Piso = piso;
+ d.Departamento = dpto;
+ d.CodigoPostal = "";
+ d.Provincia = EProvincia.RIO_NEGRO;
+ d.Telefono = telefono;
+
+ s.Direccion = d;
+
+ SaveSolicitante (s);
+ }
+
public void EliminarAfiliado () {}
public void ModificarAfiliado () {}
- private bool Save (Afiliado a)
+ private bool SaveAfiliado (Afiliado a)
{
/* Salva en la DB */
return true;
}
- private Afiliado Restore (int codigo)
+ private bool SaveSolicitante (Solicitante s)
+ {
+ try {
+ //do something with db4o
+ db.set (s);
+ }
+ catch (Exception e) {
+ Console.WriteLine (e);
+ }
+ return true;
+ }
+
+ private Solicitante GetSolicitante (ETipoDocumento tipoDoc, int nroDoc)
{
- /* restora de la db */
- return null;
+ Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
+
+ ArrayList lst = GetSolicitantes (s);
+
+ if (lst.Count == 0)
+ return null;
+
+ return (Solicitante)lst[0];
+ }
+
+ private ArrayList GetSolicitantes (Solicitante s)
+ {
+ ArrayList lst = new ArrayList ();
+ try {
+ ObjectSet result = db.get(s);
+ if (result == null)
+ return lst;
+
+ while ((s = (Solicitante)result.next ()) != null) {
+ lst.Add (s);
+ }
+ }
+ catch (Exception e) {
+ Console.WriteLine (e);
+ }
+ return lst;
}
+ public ArrayList ObtenerSolicitantesPendientes ()
+ {
+ Solicitante s = new Solicitante (0, 0, null, null);
+ Promotor p = null; // new Promotor (0, 0, null, null);
+ s.Promotor = p;
+ return GetSolicitantes (s);
+ }
+
+ public void AsociarPromotor (ETipoDocumento tipoDoc, int nroDoc, int promotor)
+ {
+ try {
+ Solicitante s = GetSolicitante (tipoDoc, nroDoc);
+
+ Promotor p = new Promotor (ETipoDocumento.DNI, 12345678, "123", "123");
+ s.Promotor = p;
+ SaveSolicitante (s);
+ }
+ catch (Exception e) {
+ Console.WriteLine (e);
+ }
+ }
+
}
}