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