Mercurial > altnet-hispano
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs Tue Mar 15 07:49:53 2011 -0300 @@ -0,0 +1,47 @@ +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(); + } + } +} \ No newline at end of file