Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Repositories.NHibernate/EventoRepository.cs @ 256:12d72efb43ca
Combinar
author | juanjose.montesdeocaarbos |
---|---|
date | Tue, 18 Oct 2011 07:26:59 -0300 |
parents | 70c5cab59054 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using System.Linq; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Domain.Repositories; using NHibernate; using NHibernate.Linq; namespace AltNetHispano.Agendas.Repositories.NHibernate { public class EventoRepository : RepositoryBase<Evento>, IEventoRepository { public EventoRepository(ISessionFactory sessionFactory) : base(sessionFactory) { } public void Delete(Evento evento) { Session.Delete(evento); } public IList<Evento> GetActivos() { return Session.QueryOver<Evento>().Where( e => e.Estado != EventoPublicadoState.GetInstance()).List(); } public Evento GetPropuestaByTitulo(string titulo) { return Session.QueryOver<Evento>().Where(e => e.Estado == EventoPropuestoState.GetInstance() && e.Titulo==titulo).SingleOrDefault(); } public Evento GetNoPropuestoByTitulo(string titulo) { return Session.QueryOver<Evento>().Where(e => e.Estado != EventoPropuestoState.GetInstance() && e.Titulo == titulo) .SingleOrDefault(); } public void Update(Evento evento) { //No es necesario implementarlo } public bool ExistePonente(Persona ponente) { return Session.Query<Evento>().Where(ev => ev.Ponentes.Contains(ponente)).Any(); } public IList<Evento> GetByState(EventoState state) { return Session.QueryOver<Evento>().Where(e => e.Estado == state).List(); } } }