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
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
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
22 public Evento Get(Guid vanId)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
23 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
24 return Session.Get<Evento>(vanId);
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
25 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
26
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
27 public IList<Evento> GetActivos()
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
28 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
29 return
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
30 Session.QueryOver<Evento>().Where(
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
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
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
33 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
34
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
35 public Evento GetPropuestaByTitulo(string titulo)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
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
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
38 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
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
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
48 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
49 //No es necesario implementarlo
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
50 }
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
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
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
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
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
60 }
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
61 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
62 }