comparison Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs @ 282:bc8dfbde0523

#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
author juanjose.montesdeocaarbos
date Mon, 26 Dec 2011 14:21:44 -0300
parents 51faeabfb9d9
children 48ab8788bd19
comparison
equal deleted inserted replaced
281:6382e35625c5 282:bc8dfbde0523
5 5
6 namespace Agendas.Repositories.Tests 6 namespace Agendas.Repositories.Tests
7 { 7 {
8 public class TestsHelper 8 public class TestsHelper
9 { 9 {
10 private readonly IPersonaRepository _repository; 10 private readonly IPersonaRepository _repositoryPersona;
11 private readonly IPatrocinadorRepository _repositoryPatrocinador;
11 12
12 public TestsHelper(IPersonaRepository repository) 13 public TestsHelper(IPersonaRepository repositoryPersona, IPatrocinadorRepository repositoryPatrocinador)
13 { 14 {
14 _repository = repository; 15 _repositoryPersona = repositoryPersona;
16 _repositoryPatrocinador = repositoryPatrocinador;
15 } 17 }
16 18
17 public Guid GetOrCreatePonente(string nombre) 19 public Guid GetOrCreatePonente(string nombre)
18 { 20 {
19 var persona = _repository.GetByNombre(nombre); 21 var persona = _repositoryPersona.GetByNombre(nombre);
20 if (persona == null) 22 if (persona == null)
21 { 23 {
22 persona = new Persona(nombre) { Twitter = nombre.Replace(" ", string.Empty).ToLower() }; 24 persona = new Persona(nombre) { Twitter = nombre.Replace(" ", string.Empty).ToLower() };
23 _repository.Save(persona); 25 _repositoryPersona.Save(persona);
24 26
25 if (_repository is AltNetHispano.Agendas.Repositories.NHibernate.PersonaRepository) 27 if (_repositoryPersona is AltNetHispano.Agendas.Repositories.NHibernate.PersonaRepository)
26 NhHelper.GetSessionFactory().GetCurrentSession().Flush(); 28 NhHelper.GetSessionFactory().GetCurrentSession().Flush();
27 } 29 }
28 return persona.Id; 30 return persona.Id;
29 } 31 }
30 32
33 public Guid GetOrCreatePatrocinador(string nombre)
34 {
35 var patrocinador = _repositoryPatrocinador.GetByNombre(nombre);
36 if (patrocinador == null)
37 {
38 patrocinador = new Patrocinador(nombre);
39 _repositoryPatrocinador.Save(patrocinador);
40
41 if (_repositoryPatrocinador is AltNetHispano.Agendas.Repositories.NHibernate.PatrocinadorRepository)
42 NhHelper.GetSessionFactory().GetCurrentSession().Flush();
43 }
44 return patrocinador.Id;
45 }
31 } 46 }
32 } 47 }