comparison Agendas/trunk/src/Agendas.Repositories.Memory/AgendaRepository.cs @ 4:49b572535156

proponer van publicar van propuesta comportamiento ante excepcion en publicador
author nelopauselli
date Tue, 08 Feb 2011 00:08:49 -0300
parents 5f007e266509
children
comparison
equal deleted inserted replaced
3:5f007e266509 4:49b572535156
1 using System; 1 using System;
2 using System.Collections.Generic;
3 using AltNetHispano.Agendas.Domain; 2 using AltNetHispano.Agendas.Domain;
4 using AltNetHispano.Agendas.Domain.Repositories; 3 using AltNetHispano.Agendas.Domain.Repositories;
5 4
6 namespace Agendas.Repositories.Memory 5 namespace Agendas.Repositories.Memory
7 { 6 {
8 public class AgendaRepository : IAgendaRepository 7 public class AgendaRepository : RepositoryBase<Agenda>, IAgendaRepository
9 { 8 {
10 protected static readonly IDictionary<Guid, Agenda> Agendas = new Dictionary<Guid, Agenda>();
11
12 #region IAgendaRepository Members 9 #region IAgendaRepository Members
13 10
14 public void Save(Agenda agenda) 11 public void Save(Agenda agenda)
15 { 12 {
16 if (Guid.Empty.Equals(agenda.Id)) 13 if (Guid.Empty.Equals(agenda.Id))
17 { 14 {
18 agenda.Id = Guid.NewGuid(); 15 agenda.Id = Guid.NewGuid();
19 Agendas.Add(agenda.Id, agenda); 16 Objects.Add(agenda.Id, agenda);
20 } 17 }
21 } 18 }
22 19
23 public void Update(Agenda agenda) 20 public void Update(Agenda agenda)
24 { 21 {
25 //nada que hacer en este método para este repositorio 22 //nada que hacer en este método para este repositorio
26 } 23 }
27 24
28 public void Delete(Agenda agenda)
29 {
30 Agendas.Remove(agenda.Id);
31 }
32
33 public Agenda Get(Guid agendaId) 25 public Agenda Get(Guid agendaId)
34 { 26 {
35 Agenda agenda; 27 Agenda agenda;
36 return Agendas.TryGetValue(agendaId, out agenda) ? agenda : null; 28 return Objects.TryGetValue(agendaId, out agenda) ? agenda : null;
29 }
30
31 public void Delete(Agenda agenda)
32 {
33 Objects.Remove(agenda.Id);
37 } 34 }
38 35
39 #endregion 36 #endregion
40 } 37 }
41 } 38 }