view Agendas/trunk/src/Agendas.Repositories.Memory/EventoRepository.cs @ 135:80156ae1493f

Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los test se encontraban fallidos.
author alabra
date Sun, 17 Jul 2011 14:13:30 -0400
parents b74734a1a755
children 462a78196d11
line wrap: on
line source

using System;
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 IList<Evento> GetByState(EventoState state)
		{
			return Objects.Values.Where(e => e.Estado == state.GetDescripcion()).ToList();
		}

		public void Delete(Evento evento)
		{
			Objects.Remove(evento.Id);
		}

		public Evento Get(Guid vanId)
        {
            Evento evento;
            return Objects.TryGetValue(vanId, out evento) ? evento : null;
        }

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

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

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