Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Repositories.NHibernate/EventoRepository.cs @ 231:e5959f3405e0
Eventos sin ponentes
author | nelopauselli |
---|---|
date | Wed, 28 Sep 2011 20:02:44 -0300 |
parents | 7d838e7d83b3 |
children | c61954d24c8c 717fce60f200 |
rev | line source |
---|---|
63 | 1 using System; |
2 using System.Collections.Generic; | |
3 using AltNetHispano.Agendas.Domain; | |
4 using AltNetHispano.Agendas.Domain.Repositories; | |
5 using NHibernate; | |
6 | |
7 namespace AltNetHispano.Agendas.Repositories.NHibernate | |
8 { | |
9 public class EventoRepository : RepositoryBase<Evento>, IEventoRepository | |
10 { | |
11 public EventoRepository(ISessionFactory sessionFactory) : base(sessionFactory) | |
12 { | |
13 } | |
14 | |
15 public void Delete(Evento evento) | |
16 { | |
17 Session.Delete(evento); | |
18 } | |
19 | |
20 public Evento Get(Guid vanId) | |
21 { | |
22 return Session.Get<Evento>(vanId); | |
23 } | |
24 | |
118 | 25 public IList<Evento> GetActivos() |
63 | 26 { |
118 | 27 return |
28 Session.QueryOver<Evento>().Where( | |
29 e => | |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
136
diff
changeset
|
30 e.Estado != EventoPublicadoState.GetInstance()).List(); |
63 | 31 } |
32 | |
33 public Evento GetPropuestaByTitulo(string titulo) | |
34 { | |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
136
diff
changeset
|
35 return Session.QueryOver<Evento>().Where(e => e.Estado == EventoPropuestoState.GetInstance() && e.Titulo==titulo).SingleOrDefault(); |
63 | 36 } |
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 |
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 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
|
42 .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
|
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 |
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 public void Update(Evento evento) |
63 | 46 { |
47 //No es necesario implementarlo | |
48 } | |
118 | 49 |
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
|
50 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
|
51 { |
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 return Session.QueryOver<Evento>().Where(ev => ev.Ponente == ponente).RowCount() > 0; |
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 } |
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
|
54 |
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 public IList<Evento> GetByState(EventoState state) |
118 | 56 { |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
136
diff
changeset
|
57 return Session.QueryOver<Evento>().Where(e => e.Estado == state).List(); |
118 | 58 } |
63 | 59 } |
60 } |