view Agendas/trunk/src/Agendas.Repositories.Memory/EventoRepository.cs @ 298:9bc60d166c8a

Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco. Se comentó el código de PatrocinadorApiController, que no se utiliza.
author juanjose.montesdeocaarbos
date Sun, 19 Feb 2012 16:00:38 -0300
parents c61954d24c8c
children
line wrap: on
line source

using System.Collections.Generic;
using System.Linq;
using AltNetHispano.Agendas.Domain;
using AltNetHispano.Agendas.Domain.Repositories;

namespace AltNetHispano.Agendas.Repositories.Memory
{
	public class EventoRepository : RepositoryBase<Evento>, IEventoRepository
	{
		public void Update(Evento evento)
		{
			//nada que hacer en este método para este repositorio
		}

	    public bool ExistePonente(Persona ponente)
	    {
	        return Objects.Values.Any(ev => ev.Ponentes.Contains(ponente));
	    }

	    public IList<Evento> GetByState(EventoState state)
		{
			return Objects.Values.Where(e => e.Estado == state).ToList();
		}

		public IList<Evento> GetActivos()
		{
			return
				Objects.Values.Where(
					e =>
					e.Estado != EventoPublicadoState.GetInstance()).ToList();
		}

		public Evento GetPropuestaByTitulo(string titulo)
		{
			return Objects.Values.SingleOrDefault(e => e.Estado == EventoPropuestoState.GetInstance() && e.Titulo == titulo);
		}

	    public Evento GetNoPropuestoByTitulo(string titulo)
	    {
	        return Objects.Values.SingleOrDefault(e => e.Titulo == titulo && e.Estado != EventoPropuestoState.GetInstance());
	    }

	    public static void Clear()
		{
			Objects.Clear();
		}
	}
}