annotate Agendas/trunk/src/Agendas.Repositories.NHibernate/EventoRepository.cs @ 235:c61954d24c8c

Quitando ponente principal y utilizando siempre la lista de ponentes
author nelopauselli
date Tue, 04 Oct 2011 20:42:35 -0300
parents 7d838e7d83b3
children 51faeabfb9d9
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;
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
7
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
8 namespace AltNetHispano.Agendas.Repositories.NHibernate
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
9 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
10 public class EventoRepository : RepositoryBase<Evento>, IEventoRepository
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
11 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
12 public EventoRepository(ISessionFactory sessionFactory) : base(sessionFactory)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
13 {
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 public void Delete(Evento evento)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
17 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
18 Session.Delete(evento);
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
19 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
20
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
21 public Evento Get(Guid vanId)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
22 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
23 return Session.Get<Evento>(vanId);
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
24 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
25
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
26 public IList<Evento> GetActivos()
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
27 {
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
28 return
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
29 Session.QueryOver<Evento>().Where(
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
30 e =>
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 136
diff changeset
31 e.Estado != EventoPublicadoState.GetInstance()).List();
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
32 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
33
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
34 public Evento GetPropuestaByTitulo(string titulo)
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
35 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 136
diff changeset
36 return Session.QueryOver<Evento>().Where(e => e.Estado == EventoPropuestoState.GetInstance() && e.Titulo==titulo).SingleOrDefault();
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
37 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
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
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 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
43 .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
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
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 public void Update(Evento evento)
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
47 {
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
48 //No es necesario implementarlo
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
49 }
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
50
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
51 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
52 {
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 214
diff changeset
53 return Session.QueryOver<Evento>().Where(ev => ev.Ponentes.Contains(ponente)).RowCount() > 0;
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
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
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 public IList<Evento> GetByState(EventoState state)
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 63
diff changeset
57 {
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 136
diff changeset
58 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
59 }
63
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
60 }
963b71ea6028 Repositorios con NH
nelopauselli
parents:
diff changeset
61 }