Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Repositories.Memory/RepositoryBase.cs @ 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.
author | alabra |
---|---|
date | Wed, 24 Aug 2011 19:49:18 -0300 |
parents | 2d1adbaf0373 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using AltNetHispano.Agendas.Domain; namespace AltNetHispano.Agendas.Repositories.Memory { public class RepositoryBase<T> where T : Identificable { protected static readonly IDictionary<Guid, T> Objects = new Dictionary<Guid, T>(); public T Get(Guid id) { T value; return Objects.TryGetValue(id, out value) ? value : null; } public void Save(T obj) { if (obj.Id==Guid.Empty) { var setter = typeof (Identificable).GetProperty("Id"); setter.SetValue(obj, Guid.NewGuid(), null); } if (!Objects.Keys.Contains(obj.Id)) Objects.Add(obj.Id, obj); } public void Delete(T obj) { Objects.Remove(obj.Id); } } }