Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Repositories.NHibernate/EventoRepository.cs @ 237:51faeabfb9d9
Todos los tests en verde quitando al ponente principal
author | nelopauselli |
---|---|
date | Tue, 04 Oct 2011 21:30:55 -0300 |
parents | c61954d24c8c |
children | 5cc1681d3789 |
rev | line source |
---|---|
63 | 1 using System; |
2 using System.Collections.Generic; | |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
214
diff
changeset
|
3 using System.Linq; |
63 | 4 using AltNetHispano.Agendas.Domain; |
5 using AltNetHispano.Agendas.Domain.Repositories; | |
6 using NHibernate; | |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
diff
changeset
|
7 using NHibernate.Linq; |
63 | 8 |
9 namespace AltNetHispano.Agendas.Repositories.NHibernate | |
10 { | |
11 public class EventoRepository : RepositoryBase<Evento>, IEventoRepository | |
12 { | |
13 public EventoRepository(ISessionFactory sessionFactory) : base(sessionFactory) | |
14 { | |
15 } | |
16 | |
17 public void Delete(Evento evento) | |
18 { | |
19 Session.Delete(evento); | |
20 } | |
21 | |
22 public Evento Get(Guid vanId) | |
23 { | |
24 return Session.Get<Evento>(vanId); | |
25 } | |
26 | |
118 | 27 public IList<Evento> GetActivos() |
63 | 28 { |
118 | 29 return |
30 Session.QueryOver<Evento>().Where( | |
31 e => | |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
136
diff
changeset
|
32 e.Estado != EventoPublicadoState.GetInstance()).List(); |
63 | 33 } |
34 | |
35 public Evento GetPropuestaByTitulo(string titulo) | |
36 { | |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
136
diff
changeset
|
37 return Session.QueryOver<Evento>().Where(e => e.Estado == EventoPropuestoState.GetInstance() && e.Titulo==titulo).SingleOrDefault(); |
63 | 38 } |
39 | |
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
|
40 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
|
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 return |
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 Session.QueryOver<Evento>().Where(e => e.Estado != EventoPropuestoState.GetInstance() && e.Titulo == 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
|
44 .SingleOrDefault(); |
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
|
45 } |
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
|
46 |
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
|
47 public void Update(Evento evento) |
63 | 48 { |
49 //No es necesario implementarlo | |
50 } | |
118 | 51 |
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
|
52 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
|
53 { |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
diff
changeset
|
54 return Session.Query<Evento>().Where(ev => ev.Ponentes.Contains(ponente)).Any(); |
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
|
55 } |
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
|
56 |
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
|
57 public IList<Evento> GetByState(EventoState state) |
118 | 58 { |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
136
diff
changeset
|
59 return Session.QueryOver<Evento>().Where(e => e.Estado == state).List(); |
118 | 60 } |
63 | 61 } |
62 } |