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