view Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs @ 298:9bc60d166c8a

Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco. Se comentó el código de PatrocinadorApiController, que no se utiliza.
author juanjose.montesdeocaarbos
date Sun, 19 Feb 2012 16:00:38 -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;
		}
	}
}