annotate Agendas/trunk/src/Agendas.Repositories.Memory/EventoRepository.cs @ 278:6f5ab71614d4

#125: ABM de patrocinadores.
author juanjose.montesdeocaarbos
date Wed, 21 Dec 2011 08:47:05 -0300
parents c61954d24c8c
children
rev   line source
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 214
diff changeset
1 using System.Collections.Generic;
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 12
diff changeset
2 using System.Linq;
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
3 using AltNetHispano.Agendas.Domain;
12
05996fa19e04 Unificamos Van y Cafe en Evento
nelo@MTEySS.neluz.int
parents: 4
diff changeset
4 using AltNetHispano.Agendas.Domain.Repositories;
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
5
34
475be11edf56 Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents: 29
diff changeset
6 namespace AltNetHispano.Agendas.Repositories.Memory
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
7 {
12
05996fa19e04 Unificamos Van y Cafe en Evento
nelo@MTEySS.neluz.int
parents: 4
diff changeset
8 public class EventoRepository : RepositoryBase<Evento>, IEventoRepository
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
9 {
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
10 public void Update(Evento evento)
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
11 {
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
12 //nada que hacer en este método para este repositorio
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
13 }
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
14
209
a36a76bd6ec3 Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents: 140
diff changeset
15 public bool ExistePonente(Persona ponente)
a36a76bd6ec3 Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents: 140
diff changeset
16 {
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 214
diff changeset
17 return Objects.Values.Any(ev => ev.Ponentes.Contains(ponente));
209
a36a76bd6ec3 Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents: 140
diff changeset
18 }
a36a76bd6ec3 Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents: 140
diff changeset
19
a36a76bd6ec3 Se soluciona ticket 173. Se agrega eliminación de personas siempre y cuando no esté asociada a ninguna van.
alabra
parents: 140
diff changeset
20 public IList<Evento> GetByState(EventoState state)
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
21 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 137
diff changeset
22 return Objects.Values.Where(e => e.Estado == state).ToList();
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
23 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
24
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
25 public IList<Evento> GetActivos()
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 12
diff changeset
26 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
27 return
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
28 Objects.Values.Where(
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
29 e =>
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 137
diff changeset
30 e.Estado != EventoPublicadoState.GetInstance()).ToList();
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 12
diff changeset
31 }
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
32
29
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 24
diff changeset
33 public Evento GetPropuestaByTitulo(string titulo)
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 24
diff changeset
34 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 137
diff changeset
35 return Objects.Values.SingleOrDefault(e => e.Estado == EventoPropuestoState.GetInstance() && e.Titulo == titulo);
29
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 24
diff changeset
36 }
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 24
diff changeset
37
214
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 209
diff changeset
38 public Evento GetNoPropuestoByTitulo(string titulo)
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 209
diff changeset
39 {
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 209
diff changeset
40 return Objects.Values.SingleOrDefault(e => e.Titulo == titulo && e.Estado != EventoPropuestoState.GetInstance());
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 209
diff changeset
41 }
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 209
diff changeset
42
7d838e7d83b3 Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents: 209
diff changeset
43 public static void Clear()
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
44 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
45 Objects.Clear();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
46 }
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
47 }
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
48 }