view Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs @ 288:a6037c6c88d8

Se soluciona bug #198 Bug: Summary incorrecto en Google Calendar. Se parametriza la hora en el mensaje.
author user@MECHUQUE
date Mon, 30 Jan 2012 01:52:47 -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;
		}
	}
}