Mercurial > altnet-hispano
diff 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 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs Mon Dec 26 13:48:21 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs Mon Dec 26 14:21:44 2011 -0300 @@ -7,26 +7,41 @@ { public class TestsHelper { - private readonly IPersonaRepository _repository; + private readonly IPersonaRepository _repositoryPersona; + private readonly IPatrocinadorRepository _repositoryPatrocinador; - public TestsHelper(IPersonaRepository repository) + public TestsHelper(IPersonaRepository repositoryPersona, IPatrocinadorRepository repositoryPatrocinador) { - _repository = repository; + _repositoryPersona = repositoryPersona; + _repositoryPatrocinador = repositoryPatrocinador; } public Guid GetOrCreatePonente(string nombre) { - var persona = _repository.GetByNombre(nombre); + var persona = _repositoryPersona.GetByNombre(nombre); if (persona == null) { persona = new Persona(nombre) { Twitter = nombre.Replace(" ", string.Empty).ToLower() }; - _repository.Save(persona); + _repositoryPersona.Save(persona); - if (_repository is AltNetHispano.Agendas.Repositories.NHibernate.PersonaRepository) + if (_repositoryPersona is AltNetHispano.Agendas.Repositories.NHibernate.PersonaRepository) NhHelper.GetSessionFactory().GetCurrentSession().Flush(); } return persona.Id; } + public Guid GetOrCreatePatrocinador(string nombre) + { + var patrocinador = _repositoryPatrocinador.GetByNombre(nombre); + if (patrocinador == null) + { + patrocinador = new Patrocinador(nombre); + _repositoryPatrocinador.Save(patrocinador); + + if (_repositoryPatrocinador is AltNetHispano.Agendas.Repositories.NHibernate.PatrocinadorRepository) + NhHelper.GetSessionFactory().GetCurrentSession().Flush(); + } + return patrocinador.Id; + } } } \ No newline at end of file