view Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs @ 24:41b283d27e3e

Ponentes como entidad Agenda no es una entidad persistente (por ahora)
author nelo@MTEySS.neluz.int
date Tue, 15 Mar 2011 07:49:53 -0300
parents
children 475be11edf56
line wrap: on
line source

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

namespace Agendas.Repositories.Memory
{
	public class PonenteRepository : RepositoryBase<Ponente>, IPonenteRepository
	{
		public void Save(Ponente ponente)
		{
			if (Guid.Empty.Equals(ponente.Id))
			{
				ponente.Id = Guid.NewGuid();
				Objects.Add(ponente.Id, ponente);
			}
		}

		public void Update(Ponente ponente)
		{
			//nada que hacer en este método para este repositorio
		}

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


		public Ponente GetByNombre(string nombre)
		{
			return Objects.Values.SingleOrDefault(p => p.Nombre == nombre);
		}

		public IList<Ponente> GetAll()
		{
			return Objects.Values.ToList();
		}

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