annotate Agendas/trunk/src/Agendas.Repositories.Memory/EventoRepository.cs @ 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.
author alabra
date Wed, 24 Aug 2011 19:49:18 -0300
parents a36a76bd6ec3
children c61954d24c8c
rev   line source
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
1 using System;
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 12
diff changeset
2 using System.Collections.Generic;
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 12
diff changeset
3 using System.Linq;
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
12
05996fa19e04 Unificamos Van y Cafe en Evento
nelo@MTEySS.neluz.int
parents: 4
diff changeset
5 using AltNetHispano.Agendas.Domain.Repositories;
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
6
34
475be11edf56 Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents: 29
diff changeset
7 namespace AltNetHispano.Agendas.Repositories.Memory
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
8 {
12
05996fa19e04 Unificamos Van y Cafe en Evento
nelo@MTEySS.neluz.int
parents: 4
diff changeset
9 public class EventoRepository : RepositoryBase<Evento>, IEventoRepository
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
10 {
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
11 public void Update(Evento evento)
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
12 {
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
13 //nada que hacer en este método para este repositorio
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
14 }
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
15
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
16 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
17 {
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 return Objects.Values.Any(ev => ev.Ponente == 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
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
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
21 public IList<Evento> GetByState(EventoState state)
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
22 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 137
diff changeset
23 return Objects.Values.Where(e => e.Estado == state).ToList();
118
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
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
26 public IList<Evento> GetActivos()
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 12
diff changeset
27 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
28 return
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
29 Objects.Values.Where(
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 95
diff changeset
30 e =>
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 137
diff changeset
31 e.Estado != EventoPublicadoState.GetInstance()).ToList();
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 12
diff changeset
32 }
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
33
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
34 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
35 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 137
diff changeset
36 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
37 }
016b9b9b8d3a Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents: 24
diff changeset
38
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
39 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
40 {
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 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
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
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
44 public static void Clear()
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
45 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
46 Objects.Clear();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 15
diff changeset
47 }
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
48 }
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents:
diff changeset
49 }