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