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