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