using Dominio.Planes;
using Dominio;
using com.db4o;
+using com.db4o.query;
using System;
using System.Collections;
}
- public ArrayList obtenerSolicitantesAfiliar ()
+ public ArrayList ObtenerSolicitantesAfiliar ()
{
- return _solicitantes;
+ Query query = Db.query();
+ query.constrain(typeof(Solicitante));
+ query.descend("_promotor").constrain(null);
+ query.descend("_pendiente").constrain(false);
+ query.descend("_titular").constrain(null);
+
+ ObjectSet result = query.execute();
+ ArrayList lst = ObjectSetToArrayList (result);
+
+ return lst;
}
- public bool ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc)
+ public ArrayList ObtenerFamiliaresAfiliar (Solicitante s)
{
- foreach (Afiliado afil in _afiliados) {
- if ((afil.TipoDocumento == tipoDoc) && (afil.NroDocumento == nroDoc))
- return true;
- }
- return false;
+ Query query = Db.query();
+ query.constrain(typeof(Solicitante));
+ query.descend("_promotor").constrain(null);
+ query.descend("_pendiente").constrain(false);
+ query.descend("_titular").constrain(s);
+
+ ObjectSet result = query.execute();
+ ArrayList lst = ObjectSetToArrayList (result);
+
+ return lst;
}
- public bool ExisteAfiliado (int codigo)
+ public Afiliado ExisteAfiliado (ETipoDocumento tipoDoc, int nroDoc)
{
- foreach (Afiliado afil in _afiliados) {
- if (afil.Codigo == codigo)
- return true;
- }
- return false;
+ Afiliado afil = new Afiliado (tipoDoc, nroDoc);
+ ObjectSet result = Db.get (afil);
+ afil = (Afiliado)result.next ();
+
+ return afil;
+ }
+
+ public Afiliado ExisteAfiliado (int codigo)
+ {
+ Afiliado afil = new Afiliado (ETipoDocumento.NONE, 0);
+ afil.Codigo = codigo;
+ ObjectSet result = Db.get (afil);
+ afil = (Afiliado)result.next ();
+
+ return afil;
}
public ArrayList ObtenerFamiliares (ETipoDocumento tipoDoc, int nroDoc)
**/
return salida;
}
+
+ public Afiliado AfiliarTitular (ETipoDocumento tipoDoc, int nroDoc, Plan plan)
+ {
+ /* Obtengo el Solicitante asi luego lo borro */
+ Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
+ s.Pendiente = false;
+ s.Promotor = null;
+ ArrayList a = GetSolicitantes (s);
+ s = (Solicitante)a[0];
+
+ if (s == null)
+ Console.WriteLine ("ERROR");
+
+ /* Creo el afiliado */
+ Afiliado afil = new Afiliado (s, plan, DateTime.Now);
+ AutoIncrementable i = new AutoIncrementable ();
+ afil.Codigo = i.NextAfiliado ();
+ i.Dispose ();
+
+ /* Agrego el afiliado */
+ Db.set (afil);
+ /* Saco el solicitante */
+ Db.delete (s);
+ return afil;
+ }
+
- public bool afiliarTitular (ETipoDocumento tipoDoc, int nroDo, Plan plan)
+ public Afiliado AfiliarFamiliar (Afiliado AfiTi, ETipoDocumento tipoDoc, int nroDoc, Plan plan)
{
- try {
- //do something with db4o
- }
- catch (Exception e){}
- return true;
+ /* Obtengo el Solicitante asi luego lo borro */
+ Solicitante s = new Solicitante (tipoDoc, nroDoc, null, null);
+ s.Pendiente = false;
+ s.Promotor = null;
+ ArrayList a = GetSolicitantes (s);
+ s = (Solicitante)a[0];
+
+ if (s == null)
+ Console.WriteLine ("ERROR");
+
+ /* Creo el afiliado */
+ Afiliado afil = new Afiliado (s, plan, DateTime.Now);
+ afil.Titular = AfiTi;
+ AutoIncrementable i = new AutoIncrementable ();
+ afil.Codigo = i.NextAfiliado ();
+ i.Dispose ();
+
+ /* Agrego el afiliado */
+ Db.set (afil);
+ /* Saco el solicitante */
+ Db.delete (s);
+ return afil;
}
public ArrayList Buscar (ETipoDocumento tipoDoc, int nroDoc)
return true;
}
- private bool SaveSolicitante (Solicitante s)
+ public bool SaveSolicitante (Solicitante s)
{
try {
//do something with db4o
}
}
+ public ArrayList BuscarAfiliados (ETipoDocumento tipoDoc, int nroDoc, int codigo, string apellido)
+ {
+ Afiliado a = new Afiliado (codigo);
+ a.TipoDocumento = tipoDoc;
+ a.NroDocumento = nroDoc;
+ a.Apellido = apellido;
+
+ Query query = Db.query();
+ query.constrain(typeof(Afiliado));
+ if (codigo != 0)
+ query.descend("_codigo").constrain(codigo);
+ if (tipoDoc != ETipoDocumento.NONE)
+ query.descend("_tipoDocumento").constrain(tipoDoc);
+ if (nroDoc != 0)
+ query.descend("_nroDocumento").constrain(nroDoc);
+ if (apellido != null)
+ query.descend("_apellido").constrain(apellido);
+
+ ObjectSet result = query.execute ();
+ return ObjectSetToArrayList (result);
+ }
+
}
}