Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Repositories.Memory/RepositoryBase.cs @ 277:7439d7a5f8d0
Warning HTML: Cambiado ALT por TITLE.
author | juanjose.montesdeocaarbos |
---|---|
date | Tue, 20 Dec 2011 08:28:33 -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); } } }