Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Repositories.Memory/RepositoryBase.cs @ 137:2d1adbaf0373
CRUD de Patrocinador
author | nelopauselli |
---|---|
date | Thu, 28 Jul 2011 09:26:24 -0300 |
parents | 65bbcdd5d357 |
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); } } }