annotate Agendas/trunk/src/Agendas.Repositories.NHibernate/EventoRepository.cs @ 275:bf993f99cee3

Ticket #123: Patrocinadores de las vans.
author juanjose.montesdeocaarbos
date Wed, 14 Dec 2011 08:15:44 -0300
parents 70c5cab59054
children
rev   line source
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
1 using System;
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
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
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
5 using AltNetHispano.Agendas.Domain.Repositories;
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
6 using NHibernate;
237
51faeabfb9d9 Todos los tests en verde quitando al ponente principal
nelopauselli
parents: 235
diff changeset
7 using NHibernate.Linq;
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
8
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
9 namespace AltNetHispano.Agendas.Repositories.NHibernate
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
10 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
11 public class EventoRepository : RepositoryBase<Evento>, IEventoRepository
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
12 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
13 public EventoRepository(ISessionFactory sessionFactory) : base(sessionFactory)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
14 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
15 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
16
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
17 public void Delete(Evento evento)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
18 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
19 Session.Delete(evento);
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
20 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
21
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
22 public IList<Evento> GetActivos()
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
23 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
24 return
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
25 Session.QueryOver<Evento>().Where(
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
26 e =>
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 136
diff changeset
27 e.Estado != EventoPublicadoState.GetInstance()).List();
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
28 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
29
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
30 public Evento GetPropuestaByTitulo(string titulo)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
31 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 136
diff changeset
32 return Session.QueryOver<Evento>().Where(e => e.Estado == EventoPropuestoState.GetInstance() && e.Titulo==titulo).SingleOrDefault();
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
33 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
34
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
35 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
36 {
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
37 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
38 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
39 .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
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
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 public void Update(Evento evento)
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
43 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
44 //No es necesario implementarlo
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
45 }
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
46
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
47 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
48 {
237
51faeabfb9d9 Todos los tests en verde quitando al ponente principal
nelopauselli
parents: 235
diff changeset
49 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
50 }
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 public IList<Evento> GetByState(EventoState state)
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
53 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 136
diff changeset
54 return Session.QueryOver<Evento>().Where(e => e.Estado == state).List();
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
55 }
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
56 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
57 }