view Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs @ 302:11dddcc9a862 tip

Historico de Eventos, no muestra bien la Url del Patrocinador.
author juanjose.montesdeocaarbos
date Tue, 14 Aug 2012 21:54:30 -0300
parents 48ab8788bd19
children
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, string webSite)
		{
			var patrocinador = _repositoryPatrocinador.GetByNombre(nombre);
			if (patrocinador == null)
			{
				patrocinador = new Patrocinador(nombre, webSite);
				_repositoryPatrocinador.Save(patrocinador);

				if (_repositoryPatrocinador is AltNetHispano.Agendas.Repositories.NHibernate.PatrocinadorRepository)
					NhHelper.GetSessionFactory().GetCurrentSession().Flush();
			}
			return patrocinador.Id;
		}
	}
}