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