Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs @ 287:eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
author | juanjose.montesdeocaarbos |
---|---|
date | Mon, 02 Jan 2012 19:44:41 -0300 |
parents | bc8dfbde0523 |
children | 48ab8788bd19 |
line wrap: on
line source
using System; using Agendas.NHibernate; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Domain.Repositories; namespace Agendas.Repositories.Tests { public class TestsHelper { private readonly IPersonaRepository _repositoryPersona; private readonly IPatrocinadorRepository _repositoryPatrocinador; public TestsHelper(IPersonaRepository repositoryPersona, IPatrocinadorRepository repositoryPatrocinador) { _repositoryPersona = repositoryPersona; _repositoryPatrocinador = repositoryPatrocinador; } public Guid GetOrCreatePonente(string nombre) { var persona = _repositoryPersona.GetByNombre(nombre); if (persona == null) { persona = new Persona(nombre) { Twitter = nombre.Replace(" ", string.Empty).ToLower() }; _repositoryPersona.Save(persona); 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; } } }