changeset 200:5346c0500594 deploy pre 1.0

Pasando a estructura de db fija, ya no se crea automáticamente. Se comenta lo referente a Patrocinadores que queda para alguna futura versión. Script para tablas de v1.0
author nelopauselli
date Wed, 17 Aug 2011 17:54:45 -0300
parents 39ce09df76dc
children 38b018822bb6
files .hgignore Agendas/trunk/db/v1.0/00 - Tablas.sql Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Domain/Evento.cs Agendas/trunk/src/Agendas.Domain/Patrocinador.cs Agendas/trunk/src/Agendas.Domain/Repositories/IPatrocinadorRepository.cs Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs Agendas/trunk/src/Agendas.NHibernate/NhHelper.cs Agendas/trunk/src/Agendas.Repositories.Memory/PatrocinadorRepository.cs Agendas/trunk/src/Agendas.Repositories.NHibernate/PatrocinadorRepository.cs Agendas/trunk/src/Agendas.Tests/AgendarTests.cs Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrudNhTests.cs Agendas/trunk/src/Agendas.Tests/Cruds/NhHelperTest.cs Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudMemoryTests.cs Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudNhTests.cs Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrudNhTests.cs Agendas/trunk/src/Agendas.Tests/Cruds/SchemaNhTests.cs Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs Agendas/trunk/src/Agendas.Tests/PonentesTests.cs Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Agendas/trunk/src/Agendas.Tests/TestBase.cs Agendas/trunk/src/Agendas.Tests/TrackTests.cs Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowMemoryTests.cs Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowNhTests.cs Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs
diffstat 30 files changed, 588 insertions(+), 448 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Mon Aug 15 20:00:02 2011 -0400
+++ b/.hgignore	Wed Aug 17 17:54:45 2011 -0300
@@ -9,3 +9,4 @@
 *.dotCover
 App_Data
 packages/*.*
+*.tmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Agendas/trunk/db/v1.0/00 - Tablas.sql	Wed Aug 17 17:54:45 2011 -0300
@@ -0,0 +1,80 @@
+DROP TABLE TrackLog
+DROP TABLE Track
+DROP TABLE Evento
+DROP TABLE Cuenta
+DROP TABLE Roles
+DROP TABLE Persona
+GO
+
+
+CREATE TABLE Persona(
+	Id uniqueidentifier NOT NULL,
+	Nombre nvarchar(255) NULL,
+	Mail nvarchar(255) NULL,
+	Twitter nvarchar(255) NULL,
+	Blog nvarchar(255) NULL,
+	CONSTRAINT PK_Persona PRIMARY KEY (Id),
+	CONSTRAINT UK_Persona_Nombre UNIQUE (Nombre),
+	CONSTRAINT UK_Persona_Twitter UNIQUE (Twitter))	
+GO
+
+CREATE TABLE Roles(
+	Persona uniqueidentifier NOT NULL,
+	Rol nvarchar(25) NOT NULL,
+	CONSTRAINT PK_Roles PRIMARY KEY (Persona, Rol),
+	CONSTRAINT FK_Roles_Persona FOREIGN KEY(Persona) REFERENCES Persona (Id) ON DELETE CASCADE
+)
+GO
+
+CREATE TABLE Evento(
+	Id uniqueidentifier NOT NULL,
+	Titulo nvarchar(255) NULL,
+	FechaInicio datetime NULL,
+	FechaTermino datetime NULL,
+	UrlInvitacion nvarchar(255) NULL,
+	UrlWiki nvarchar(255) NULL,
+	NumeroOrden smallint NULL,
+	Ponente uniqueidentifier NULL,
+	Estado nvarchar(25) NULL,
+	Tipo int NULL,
+	Duracion bigint NULL,
+	CONSTRAINT PK_Evento PRIMARY KEY (Id),
+	CONSTRAINT UK_Titulo UNIQUE (Titulo),
+	CONSTRAINT FK_Evento_Persona FOREIGN KEY(Ponente) REFERENCES Persona (Id)
+)
+GO
+
+CREATE TABLE Cuenta(
+	Id uniqueidentifier NOT NULL,
+	Persona uniqueidentifier NULL,
+	LogonName nvarchar(255) NULL,
+	IdentityProvider int NULL,
+	CONSTRAINT PK_Cuenta PRIMARY KEY (Id),
+	CONSTRAINT FK_Cuenta_Persona FOREIGN KEY(Persona) REFERENCES Persona (Id) ON DELETE CASCADE
+)
+GO
+
+CREATE TABLE Track(
+	Id uniqueidentifier NOT NULL,
+	Evento uniqueidentifier NULL,
+	Accion int NULL,
+	Usuario uniqueidentifier NULL,
+	CONSTRAINT PK_Track PRIMARY KEY (Id),
+	CONSTRAINT FK_Track_Usuario FOREIGN KEY(Usuario)REFERENCES Persona (Id),
+	CONSTRAINT FK_Track_Evento FOREIGN KEY(Evento) REFERENCES Evento (Id) ON DELETE CASCADE
+)
+GO
+
+CREATE TABLE TrackLog(
+	Id uniqueidentifier NOT NULL,
+	Propietario int NULL,
+	Mensaje nvarchar(255) NULL,
+	Track uniqueidentifier NULL,
+	Usuario uniqueidentifier NULL,
+	Successful bit NULL,
+	Fecha datetime NULL,
+	CONSTRAINT PK_TrackLog PRIMARY KEY (Id),
+	CONSTRAINT FK_TrackLog_Usuario FOREIGN KEY(Usuario)REFERENCES Persona (Id),
+	CONSTRAINT FK_TrackLog_Track FOREIGN KEY(Track)REFERENCES Track (Id) ON DELETE CASCADE
+)
+GO
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -10,15 +10,15 @@
     {
         private readonly IEventoRepository _eventosRepository;
         private readonly IPersonaRepository _personaRepository;
-        private readonly IPatrocinadorRepository _patrocinadorRepository;
+        //private readonly IPatrocinadorRepository _patrocinadorRepository;
 
         private readonly IPublicador _publicador;
 
         public Agenda(IPublicador publicador, IEventoRepository eventosRepository,
-                      IPersonaRepository personaRepository, IPatrocinadorRepository patrocinadorRepository)
+                      IPersonaRepository personaRepository)
         {
             _publicador = publicador;
-            _patrocinadorRepository = patrocinadorRepository;
+            //_patrocinadorRepository = patrocinadorRepository;
             _personaRepository = personaRepository;
             _eventosRepository = eventosRepository;
         }
@@ -226,34 +226,34 @@
 			return new EventoResultado(true,"Evento re-agendado", warnings);
 		}
 
-        public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores)
-        {
-            var evento = GetEvento(eventoId);
+		//public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores)
+		//{
+		//    var evento = GetEvento(eventoId);
 
-            var agregar = new List<Patrocinador>();
-            var quitar = new List<Patrocinador>();
+		//    var agregar = new List<Patrocinador>();
+		//    var quitar = new List<Patrocinador>();
 
-            foreach (var patrocinadorId in patrocinadores)
-            {
-                if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId))
-                {
-                    var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
-                    agregar.Add(patrocinador);
-                }
-            }
+		//    foreach (var patrocinadorId in patrocinadores)
+		//    {
+		//        if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId))
+		//        {
+		//            var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
+		//            agregar.Add(patrocinador);
+		//        }
+		//    }
 
-            foreach (var patrocinador in evento.Patrocinadores)
-            {
-                if (!patrocinadores.Any(p => p == patrocinador.Id))
-                    quitar.Add(patrocinador);
-            }
+		//    foreach (var patrocinador in evento.Patrocinadores)
+		//    {
+		//        if (!patrocinadores.Any(p => p == patrocinador.Id))
+		//            quitar.Add(patrocinador);
+		//    }
 
-            foreach (var patrocinador in agregar)
-                evento.AddPatrocinador(patrocinador);
+		//    foreach (var patrocinador in agregar)
+		//        evento.AddPatrocinador(patrocinador);
 
-            foreach (var patrocinador in quitar)
-                evento.RemovePatrocinador(patrocinador);
-        }
+		//    foreach (var patrocinador in quitar)
+		//        evento.RemovePatrocinador(patrocinador);
+		//}
 
 		private void Notify(Evento evento)
 		{
--- a/Agendas/trunk/src/Agendas.Domain/Evento.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -1,6 +1,5 @@
 using System;
 using System.Collections.Generic;
-using System.Linq;
 
 namespace AltNetHispano.Agendas.Domain
 {
@@ -9,7 +8,7 @@
 		protected Evento()
 		{
 			_tracks = new List<Track>();
-			_patrocinadores = new List<Patrocinador>();
+			//_patrocinadores = new List<Patrocinador>();
 		}
 
 		#region Propiedades del Evento
@@ -71,18 +70,17 @@
 			set { _estado = value; }
 		}
 
-		//private EventoState _eventoState;
-		private IList<Patrocinador> _patrocinadores;
+		//private IList<Patrocinador> _patrocinadores;
 
 		public virtual TipoEvento Tipo { get; private set; }
 
-		public virtual IEnumerable<Patrocinador> Patrocinadores
-		{
-			get
-			{
-				return _patrocinadores;
-			}
-		}
+		//public virtual IEnumerable<Patrocinador> Patrocinadores
+		//{
+		//    get
+		//    {
+		//        return _patrocinadores;
+		//    }
+		//}
 
 		/// <summary>
 		/// Determina la duración de un evento.
@@ -92,15 +90,15 @@
 			get; set;
 		}
 
-		protected internal virtual void AddPatrocinador(Patrocinador patrocinador)
-		{
-			_patrocinadores.Add(patrocinador);
-		}
+		//protected internal virtual void AddPatrocinador(Patrocinador patrocinador)
+		//{
+		//    _patrocinadores.Add(patrocinador);
+		//}
 
-		protected internal virtual void RemovePatrocinador(Patrocinador patrocinador)
-		{
-			_patrocinadores.Remove(patrocinador);
-		}
+		//protected internal virtual void RemovePatrocinador(Patrocinador patrocinador)
+		//{
+		//    _patrocinadores.Remove(patrocinador);
+		//}
 
 
 		#endregion
--- a/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -3,26 +3,26 @@
 
 namespace AltNetHispano.Agendas.Domain
 {
-	public class Patrocinador : Identificable
-	{
-		public virtual string Nombre { get; set; }
-		public virtual byte[] Logo { get; set; }
+	//public class Patrocinador : Identificable
+	//{
+	//    public virtual string Nombre { get; set; }
+	//    public virtual byte[] Logo { get; set; }
 
-		public Patrocinador(string nombre)
-		{
-			Nombre = nombre;
-		}
+	//    public Patrocinador(string nombre)
+	//    {
+	//        Nombre = nombre;
+	//    }
 
-		protected Patrocinador()
-		{
-		}
+	//    protected Patrocinador()
+	//    {
+	//    }
 
-		public virtual void LoadLogo(string path)
-		{
-			var image = Image.FromFile(path);
-			var ms = new MemoryStream();
-			image.Save(ms, image.RawFormat);
-			Logo = ms.ToArray();
-		}
-	}
+	//    public virtual void LoadLogo(string path)
+	//    {
+	//        var image = Image.FromFile(path);
+	//        var ms = new MemoryStream();
+	//        image.Save(ms, image.RawFormat);
+	//        Logo = ms.ToArray();
+	//    }
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Repositories/IPatrocinadorRepository.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Domain/Repositories/IPatrocinadorRepository.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -2,10 +2,10 @@
 
 namespace AltNetHispano.Agendas.Domain.Repositories
 {
-	public interface IPatrocinadorRepository
-	{
-		void Save(Patrocinador patrocinador);
-		Patrocinador Get(Guid patrocinadorId);
-		void Delete(Patrocinador patrocinador);
-	}
+	//public interface IPatrocinadorRepository
+	//{
+	//    void Save(Patrocinador patrocinador);
+	//    Patrocinador Get(Guid patrocinadorId);
+	//    void Delete(Patrocinador patrocinador);
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -43,7 +43,7 @@
 #if DEBUG
 			var administradores = new[] {"nelopauselli", "alabras", "jjmoa", "jrowies"};
 #else
-			var administradores = new[] {"alabras", "jrowies", "jorgegamba"};
+			var administradores = new[] {"nelopauselli", "alabras", "jrowies", "jorgegamba"};
 #endif
 			if (administradores.Contains(persona.Twitter))
 			{
--- a/Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -24,7 +24,7 @@
 			return _agenda ??
 			       (_agenda =
 			        new Agenda(publicadores, new EventoRepository(sessionFactory),
-			                   new PersonaRepository(sessionFactory), new PatrocinadorRepository(sessionFactory)));
+			                   new PersonaRepository(sessionFactory)));
 		}
 
 		public static IPersonaRepository GetPersonaRepository()
--- a/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -22,7 +22,7 @@
             adapter.Setup(ad => ad.CreateEvent(It.IsAny<IGEventDetail>(), out message)).Returns(true);
 
             var publicador = new GooglePublicador(adapter.Object);
-			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
             
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van);
             adapter.Verify(ad => ad.CreateEvent(It.IsAny<IGEventDetail>(), out message), Times.Never());
@@ -43,7 +43,7 @@
             var fechaTermino = fechaInicio.AddHours(2);
 
             var publicador = new GooglePublicador(adapter.Object);
-			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van);
             agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
                            fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion",
@@ -83,7 +83,7 @@
             var fechaTermino = fechaInicio.AddHours(2);
 
             var publicador = new GooglePublicador(adapter.Object);
-			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.Cafe);
             agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
                            fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion",
@@ -123,7 +123,7 @@
             var fechaTermino = fechaInicio.AddHours(2);
 
             var publicador = new GooglePublicador(adapter.Object);
-			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.GrupoEstudio);
             agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
                            fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion",
@@ -164,7 +164,7 @@
             adapter.Setup(ad => ad.DeleteEvent(It.IsAny<DateTime>(), It.IsAny<DateTime>(), out message)).Returns(true);
 
             var publicador = new GooglePublicador(adapter.Object);
-			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
 
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van);
             adapter.Verify(ad => ad.DeleteEvent(It.IsAny<DateTime>(), It.IsAny<DateTime>(), out message), Times.Never());
--- a/Agendas/trunk/src/Agendas.NHibernate/NhHelper.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.NHibernate/NhHelper.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -1,8 +1,10 @@
-using AltNetHispano.Agendas.Domain;
+using System;
+using AltNetHispano.Agendas.Domain;
 using ConfOrm;
 using ConfOrm.NH;
 using NHibernate;
 using NHibernate.Cfg;
+using NHibernate.Cfg.MappingSchema;
 using NHibernate.Tool.hbm2ddl;
 
 namespace Agendas.NHibernate
@@ -16,32 +18,7 @@
 		{
 			if (_cfg == null)
 			{
-				var orm = new ObjectRelationalMapper();
-				orm.TablePerClass<Persona>();
-				orm.TablePerClass<Evento>();
-
-				orm.Complex<Evento>(e => e.Estado);
-
-				orm.TablePerClass<Track>();
-				orm.TablePerClass<TrackLog>();
-				orm.TablePerClass<Cuenta>();
-				orm.TablePerClass<Patrocinador>();
-
-				orm.Cascade<Evento, Persona>(Cascade.None);
-				orm.Cascade<Persona, Evento>(Cascade.None);
-
-				orm.Cascade<Persona, Cuenta>(Cascade.All | Cascade.DeleteOrphans);
-
-				var mapper = new Mapper(orm);
-
-			    mapper.Customize<Persona>(a => a.Property(p => p.Nombre, m => m.Unique(true)));
-                mapper.Customize<Persona>(a => a.Property(p => p.Twitter, m => m.Unique(true)));
-
-                mapper.Customize<Evento>(a => a.Property(p => p.Titulo, m => m.Unique(true)));
-
-				mapper.AddPropertyPattern(p => p.DeclaringType == typeof(Evento) && p.Name == "Estado", a => a.Type<EventoStateType>());
-
-				var mapping = mapper.CompileMappingFor(typeof(Evento).Assembly.GetTypes());
+				var mapping = GetMapping();
 				
 				_cfg = new Configuration();
 				_cfg.Configure();
@@ -50,6 +27,45 @@
 			return _cfg;
 		}
 
+		public static HbmMapping GetMapping()
+		{
+			var orm = new ObjectRelationalMapper();
+			orm.TablePerClass<Persona>();
+			orm.TablePerClass<Evento>();
+
+			orm.Complex<Evento>(e => e.Estado);
+
+			orm.TablePerClass<Track>();
+			orm.TablePerClass<TrackLog>();
+			orm.TablePerClass<Cuenta>();
+			//orm.TablePerClass<Patrocinador>();
+
+			orm.Cascade<Evento, Persona>(Cascade.None);
+			orm.Cascade<Persona, Evento>(Cascade.None);
+
+			orm.Cascade<Persona, Cuenta>(Cascade.All | Cascade.DeleteOrphans);
+
+			orm.Bag<Persona>(p => p.Roles);
+
+			var mapper = new Mapper(orm);
+
+			mapper.Customize<Persona>(a => a.Property(p => p.Nombre, m => m.Unique(true)));
+			mapper.Customize<Persona>(a => a.Property(p => p.Twitter, m => m.Unique(true)));
+
+			mapper.Class<Persona>(
+				ca => ca.Bag(
+					p => p.Roles,
+					cm => cm.Key(em => em.Column("Persona")),
+					m => m.Element(em => em.Column("Rol"))));
+
+			mapper.Customize<Evento>(a => a.Property(p => p.Titulo, m => m.Unique(true)));
+			
+			mapper.AddPropertyPattern(p => p.DeclaringType == typeof(Evento) && p.Name == "Estado", a => a.Type<EventoStateType>());
+
+			return mapper.CompileMappingFor(typeof(Evento).Assembly.GetTypes());
+
+		}
+
 		public static ISessionFactory GetSessionFactory()
 		{
 			if (_sessionfactory == null)
@@ -58,26 +74,7 @@
 
 #if DEBUG
 				var schemaValidator = new SchemaValidator(cfg);
-				try
-				{
-					schemaValidator.Validate();
-				}
-				catch
-				{
-					try
-					{
-						var schemaUpdate = new SchemaUpdate(cfg);
-						schemaUpdate.Execute(false, true);
-
-						schemaValidator.Validate();
-					}
-					catch
-					{
-						var schemaExport = new SchemaExport(cfg);
-						schemaExport.Create(false, true);
-					}
-				}
-
+				schemaValidator.Validate();
 #endif
 
 				_sessionfactory = cfg.BuildSessionFactory();
--- a/Agendas/trunk/src/Agendas.Repositories.Memory/PatrocinadorRepository.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Repositories.Memory/PatrocinadorRepository.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -3,11 +3,11 @@
 
 namespace AltNetHispano.Agendas.Repositories.Memory
 {
-	public class PatrocinadorRepository : RepositoryBase<Patrocinador>, IPatrocinadorRepository
-	{
-		public static void Clear()
-		{
-			Objects.Clear();
-		}
-	}
+	//public class PatrocinadorRepository : RepositoryBase<Patrocinador>, IPatrocinadorRepository
+	//{
+	//    public static void Clear()
+	//    {
+	//        Objects.Clear();
+	//    }
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Repositories.NHibernate/PatrocinadorRepository.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Repositories.NHibernate/PatrocinadorRepository.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -5,21 +5,21 @@
 
 namespace AltNetHispano.Agendas.Repositories.NHibernate
 {
-	public class PatrocinadorRepository : RepositoryBase<Patrocinador>, IPatrocinadorRepository
-	{
-		public PatrocinadorRepository(ISessionFactory sessionFactory)
-			: base(sessionFactory)
-		{
-		}
+	//public class PatrocinadorRepository : RepositoryBase<Patrocinador>, IPatrocinadorRepository
+	//{
+	//    public PatrocinadorRepository(ISessionFactory sessionFactory)
+	//        : base(sessionFactory)
+	//    {
+	//    }
 
-		public Patrocinador Get(Guid patrocinadorId)
-		{
-			return Session.Get<Patrocinador>(patrocinadorId);
-		}
+	//    public Patrocinador Get(Guid patrocinadorId)
+	//    {
+	//        return Session.Get<Patrocinador>(patrocinadorId);
+	//    }
 
-		public void Delete(Patrocinador patrocinador)
-		{
-			Session.Delete(patrocinador);
-		}
-	}
+	//    public void Delete(Patrocinador patrocinador)
+	//    {
+	//        Session.Delete(patrocinador);
+	//    }
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -29,7 +29,7 @@
 
 			publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Throws(new Exception("Error intencional"));
 			repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
-			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
@@ -51,7 +51,7 @@
 			var publicador = new Mock<IPublicador>();
 			var repository = new Mock<IEventoRepository>();
 			repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
-			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
@@ -70,7 +70,7 @@
 			var publicador = new Mock<IPublicador>();
 			var repository = new Mock<IEventoRepository>();
 			repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
-			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
@@ -86,7 +86,7 @@
 		[Test]
 		public void Intentar_agendar_evento_sin_ponente()
 		{
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
@@ -104,7 +104,7 @@
 			var repository = new Mock<IEventoRepository>();
 			repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
 			var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
-															repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+															repository.Object, DefaultPersonaRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
@@ -121,7 +121,7 @@
 		{
 			var publicador = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
@@ -146,7 +146,7 @@
 			var repository = DefaultEventoRepository;
 			var publicador = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository);
 		    var fechaInicioVanPublicar = DateTime.Now.ToUniversalTime();
 		    var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2);
 
@@ -186,7 +186,7 @@
 			var publicador2 = new Mock<IPublicador>();
 
 			var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
-															DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+															DefaultEventoRepository, DefaultPersonaRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
@@ -208,7 +208,7 @@
 			var publicador2 = new Mock<IPublicador>();
 
 			var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
-															DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+															DefaultEventoRepository, DefaultPersonaRepository);
 
 			agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
 			Assert.AreEqual(1, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
@@ -238,7 +238,7 @@
 		{
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 			agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
 
 			var evento =
@@ -253,7 +253,7 @@
 		{
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 		    var fechaInicio = DateTime.MinValue.ToUniversalTime();
 		    var fechatermino = fechaInicio.AddHours(2);
 		    agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechatermino, urlInvitacion,
@@ -270,7 +270,7 @@
         {
             var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
             var fechaInicio = DateTime.MinValue.ToUniversalTime();
             var fechaTermino = fechaInicio.AddHours(2);
             agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
@@ -290,7 +290,7 @@
         {
             var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
             var fechaInicio = DateTime.MinValue.ToUniversalTime();
             var fechaTermino = fechaInicio.AddHours(2);
             agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
@@ -311,7 +311,7 @@
 		{
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
             var fechaInicio = DateTime.MinValue.ToUniversalTime();
             var fechaTermino = fechaInicio.AddHours(2);
             agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
@@ -332,7 +332,7 @@
 			var duracion = new TimeSpan(1, 34, 00);
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 		    var fechaInicio = DateTime.MinValue.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
 		    agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
@@ -354,7 +354,7 @@
 			var duracion = new TimeSpan(1, 34, 00);
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 		    var fechaInicio = DateTime.MinValue.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
 		    agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
@@ -376,7 +376,7 @@
 		{
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 			agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
 
 			var evento =
@@ -395,7 +395,7 @@
 			var duracion = new TimeSpan(1, 34, 00);
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 			agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van);
 
 			var evento =
@@ -411,7 +411,7 @@
 			var duracion = new TimeSpan(1, 34, 00);
             var publicador1 = new Mock<IPublicador>();
 
-            var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
             var fechaInicio = DateTime.MinValue.ToUniversalTime();
             var fechaTermino = fechaInicio.AddHours(2);
             agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
@@ -432,7 +432,7 @@
 			var duracion = new TimeSpan(1, 34, 00);
             var publicador1 = new Mock<IPublicador>();
 
-            var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
             var fechaInicio = DateTime.MinValue.ToUniversalTime();
             var fechaTermino = fechaInicio.AddHours(2);
             agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
@@ -451,7 +451,7 @@
 			const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
 			var publicador1 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 		    var fechaInicio = DateTime.MinValue.ToUniversalTime();
 		    var fechaTermino = fechaInicio.AddHours(2);
 		    agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
@@ -468,8 +468,7 @@
 		public void Verificar_que_no_se_puedan_agendar_dos_eventos_para_el_mismo_intervalo()
 		{
 			var publicador1 = new Mock<IPublicador>();
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository,
-									DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 			var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00);
 			var fechaTermino = fechaInicio.AddHours(2);
 
@@ -520,8 +519,7 @@
 		public void Verificar_que_no_se_modifique_una_propuesta_de_VAN_al_intentar_agendarla_con_fechas_usadas()
 		{
 			var publicador1 = new Mock<IPublicador>();
-			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository,
-									DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository);
 			var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00);
 			var fechaTermino = fechaInicio.AddHours(2);
 
--- a/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj	Wed Aug 17 17:54:45 2011 -0300
@@ -77,6 +77,7 @@
     <Compile Include="Cruds\EventoCrud.cs" />
     <Compile Include="Cruds\EventoCrudNhTests.cs" />
     <Compile Include="Cruds\IPersonaCrudTest.cs" />
+    <Compile Include="Cruds\NhHelperTest.cs" />
     <Compile Include="Cruds\PatrocinadorCrud.cs" />
     <Compile Include="Cruds\PatrocinadorCrudMemoryTests.cs" />
     <Compile Include="Cruds\PatrocinadorCrudNhTests.cs" />
@@ -84,6 +85,7 @@
     <Compile Include="Cruds\PersonaCrudMemoryTests.cs" />
     <Compile Include="Cruds\PersonaCrudNhTests.cs" />
     <Compile Include="Cruds\RequestEmulator.cs" />
+    <Compile Include="Cruds\SchemaNhTests.cs" />
     <Compile Include="DateTimeFormattingTests.cs" />
     <Compile Include="EventoStateTests.cs" />
     <Compile Include="Eventos_y_patrocinadores_tests.cs" />
--- a/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrudNhTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrudNhTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -3,8 +3,6 @@
 using AltNetHispano.Agendas.Repositories.NHibernate;
 using Moq;
 using NHibernate;
-using NHibernate.Cfg;
-using NHibernate.Tool.hbm2ddl;
 using NUnit.Framework;
 
 namespace AltNetHispano.Agendas.Tests.Cruds
@@ -19,9 +17,7 @@
 		[SetUp]
 		public void BorrarRepositorios()
 		{
-			Configuration cfg =NhHelper.GetConfiguration();
-			var schemaExport = new SchemaExport(cfg);
-			schemaExport.Create(false, true);
+			NhHelperTest.CleanDb();
 		}
 
 		[SetUp]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/NhHelperTest.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -0,0 +1,16 @@
+using Agendas.NHibernate;
+
+namespace AltNetHispano.Agendas.Tests.Cruds
+{
+	public static class NhHelperTest
+	{
+		public static void CleanDb()
+		{
+			var sf = NhHelper.GetSessionFactory();
+
+			var session = sf.OpenStatelessSession();
+			session.CreateSQLQuery("DELETE FROM Evento").ExecuteUpdate();
+			session.CreateSQLQuery("DELETE FROM Persona").ExecuteUpdate();
+		}
+	}
+}
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -5,85 +5,85 @@
 
 namespace AltNetHispano.Agendas.Tests.Cruds
 {
-	public class PatrocinadorCrud
-	{
-		private readonly IPatrocinadorRepository _patrocinadorRepository;
-		private readonly Func<IDisposable> _requestEmulator;
-		private byte[] _logo;
+	//public class PatrocinadorCrud
+	//{
+	//    private readonly IPatrocinadorRepository _patrocinadorRepository;
+	//    private readonly Func<IDisposable> _requestEmulator;
+	//    private byte[] _logo;
 
-		public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator)
-		{
-			_patrocinadorRepository = createPatrocinadorRepository.Invoke();
-			_requestEmulator = requestEmulator;
-		}
+	//    public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator)
+	//    {
+	//        _patrocinadorRepository = createPatrocinadorRepository.Invoke();
+	//        _requestEmulator = requestEmulator;
+	//    }
 
-		public Guid Create()
-		{
-			using (_requestEmulator.Invoke())
-			{
-				var patrocinador = new Patrocinador("APRESS");
+	//    public Guid Create()
+	//    {
+	//        using (_requestEmulator.Invoke())
+	//        {
+	//            var patrocinador = new Patrocinador("APRESS");
 
-				patrocinador.LoadLogo("images/apress.gif");
-				_logo = patrocinador.Logo;
+	//            patrocinador.LoadLogo("images/apress.gif");
+	//            _logo = patrocinador.Logo;
 
-				_patrocinadorRepository.Save(patrocinador);
-				return patrocinador.Id;
-			}
-		}
+	//            _patrocinadorRepository.Save(patrocinador);
+	//            return patrocinador.Id;
+	//        }
+	//    }
 
-		public void Read()
-		{
-			Guid patrocinadorId = Create();
+	//    public void Read()
+	//    {
+	//        Guid patrocinadorId = Create();
 
-			using (_requestEmulator.Invoke())
-			{
-				var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
+	//        using (_requestEmulator.Invoke())
+	//        {
+	//            var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
 
-				Assert.IsNotNull(patrocinador);
-				Assert.AreEqual("APRESS", patrocinador.Nombre);
-				Assert.IsNotNull(patrocinador.Logo);
-				Assert.AreEqual(_logo, patrocinador.Logo);
-			}
-		}
+	//            Assert.IsNotNull(patrocinador);
+	//            Assert.AreEqual("APRESS", patrocinador.Nombre);
+	//            Assert.IsNotNull(patrocinador.Logo);
+	//            Assert.AreEqual(_logo, patrocinador.Logo);
+	//        }
+	//    }
 
-		public void Update()
-		{
-			Guid patrocinadorId = Create();
+	//    public void Update()
+	//    {
+	//        Guid patrocinadorId = Create();
 
-			using (_requestEmulator.Invoke())
-			{
-				var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
-				Assert.IsNotNull(patrocinador);
+	//        using (_requestEmulator.Invoke())
+	//        {
+	//            var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
+	//            Assert.IsNotNull(patrocinador);
 
-				patrocinador.Nombre = "Apress";
-			}
+	//            patrocinador.Nombre = "Apress";
+	//        }
 
-			using (_requestEmulator.Invoke())
-			{
-				var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
+	//        using (_requestEmulator.Invoke())
+	//        {
+	//            var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
 
-				Assert.IsNotNull(patrocinador);
-				Assert.AreEqual("Apress", patrocinador.Nombre);
-			}
-		}
+	//            Assert.IsNotNull(patrocinador);
+	//            Assert.AreEqual("Apress", patrocinador.Nombre);
+	//        }
+	//    }
 
-		public void Delete()
-		{
-			Guid patrocinadorId = Create();
+	//    public void Delete()
+	//    {
+	//        Guid patrocinadorId = Create();
 
-			using (_requestEmulator.Invoke())
-			{
-				var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
-				Assert.IsNotNull(patrocinador);
+	//        using (_requestEmulator.Invoke())
+	//        {
+	//            var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
+	//            Assert.IsNotNull(patrocinador);
 
-				_patrocinadorRepository.Delete(patrocinador);
-			}
+	//            _patrocinadorRepository.Delete(patrocinador);
+	//        }
 
-			using (_requestEmulator.Invoke())
-			{
-				var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
-				Assert.IsNull(patrocinador);
-			}
-		}
-	}
+	//        using (_requestEmulator.Invoke())
+	//        {
+	//            var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
+	//            Assert.IsNull(patrocinador);
+	//        }
+	//    }
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudMemoryTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudMemoryTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -6,58 +6,58 @@
 
 namespace AltNetHispano.Agendas.Tests.Cruds
 {
-	[TestFixture]
-	public class PatrocinadorCrudMemoryTests
-	{
-		private PatrocinadorCrud _eventoCrud;
+	//[TestFixture]
+	//public class PatrocinadorCrudMemoryTests
+	//{
+	//    private PatrocinadorCrud _eventoCrud;
 
-		#region SetUp
+	//    #region SetUp
 
-		[SetUp]
-		public void BorrarRepositorios()
-		{
-			PatrocinadorRepository.Clear();
-		}
+	//    [SetUp]
+	//    public void BorrarRepositorios()
+	//    {
+	//        PatrocinadorRepository.Clear();
+	//    }
 
-		[SetUp]
-		public void SetearUsuario()
-		{
-			var seguridad = new Mock<ISeguridad>();
-			seguridad.Setup(s => s.GetUserName()).Returns("neluz");
-			IdentityContext.Init(seguridad.Object, new PersonaRepository());
-		}
+	//    [SetUp]
+	//    public void SetearUsuario()
+	//    {
+	//        var seguridad = new Mock<ISeguridad>();
+	//        seguridad.Setup(s => s.GetUserName()).Returns("neluz");
+	//        IdentityContext.Init(seguridad.Object, new PersonaRepository());
+	//    }
 
-		[SetUp]
-		public void CreateCrud()
-		{
-			_eventoCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(), () => new Mock<IDisposable>().Object);
-		}
+	//    [SetUp]
+	//    public void CreateCrud()
+	//    {
+	//        _eventoCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(), () => new Mock<IDisposable>().Object);
+	//    }
 
-		#endregion
+	//    #endregion
 
-		[Test]
-		public void Create()
-		{
-			_eventoCrud.Create();
-		}
+	//    [Test]
+	//    public void Create()
+	//    {
+	//        _eventoCrud.Create();
+	//    }
 
-		[Test]
-		public void Read()
-		{
-			_eventoCrud.Read();
-		}
+	//    [Test]
+	//    public void Read()
+	//    {
+	//        _eventoCrud.Read();
+	//    }
 
-		[Test]
-		public void Update()
-		{
-			_eventoCrud.Update();
-		}
+	//    [Test]
+	//    public void Update()
+	//    {
+	//        _eventoCrud.Update();
+	//    }
 
-		[Test]
-		public void Delete()
-		{
-			_eventoCrud.Delete();
-		}
+	//    [Test]
+	//    public void Delete()
+	//    {
+	//        _eventoCrud.Delete();
+	//    }
 
-	}
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudNhTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudNhTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -3,67 +3,63 @@
 using AltNetHispano.Agendas.Repositories.NHibernate;
 using Moq;
 using NHibernate;
-using NHibernate.Cfg;
-using NHibernate.Tool.hbm2ddl;
 using NUnit.Framework;
 
 namespace AltNetHispano.Agendas.Tests.Cruds
 {
-	[TestFixture]
-	public class PatrocinadorCrudNhTests
-	{
-		private PatrocinadorCrud _patrocinadorCrud;
+	//[TestFixture]
+	//public class PatrocinadorCrudNhTests
+	//{
+	//    private PatrocinadorCrud _patrocinadorCrud;
 
-		#region SetUp
+	//    #region SetUp
+
+	//    [SetUp]
+	//    public void BorrarRepositorios()
+	//    {
+	//        NhHelperTest.CleanDb();
+	//    }
 
-		[SetUp]
-		public void BorrarRepositorios()
-		{
-			Configuration cfg = NhHelper.GetConfiguration();
-			var schemaExport = new SchemaExport(cfg);
-			schemaExport.Create(false, true);
-		}
+	//    [SetUp]
+	//    public void SetearUsuario()
+	//    {
+	//        var seguridad = new Mock<ISeguridad>();
+	//        seguridad.Setup(s => s.GetUserName()).Returns("neluz");
+	//        IdentityContext.Init(seguridad.Object, new PersonaRepository(NhHelper.GetSessionFactory()));
+	//    }
 
-		[SetUp]
-		public void SetearUsuario()
-		{
-			var seguridad = new Mock<ISeguridad>();
-			seguridad.Setup(s => s.GetUserName()).Returns("neluz");
-			IdentityContext.Init(seguridad.Object, new PersonaRepository(NhHelper.GetSessionFactory()));
-		}
+	//    [SetUp]
+	//    public void CreateCrud()
+	//    {
+	//        ISessionFactory sessionFactory = NhHelper.GetSessionFactory();
+	//        _patrocinadorCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(sessionFactory), () => new RequestEmulator(sessionFactory));
+	//    }
 
-		[SetUp]
-		public void CreateCrud()
-		{
-			ISessionFactory sessionFactory = NhHelper.GetSessionFactory();
-			_patrocinadorCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(sessionFactory), () => new RequestEmulator(sessionFactory));
-		}
+	//    #endregion
 
-		#endregion
+	//    [Test]
+	//    public void Create()
+	//    {
+	//        _patrocinadorCrud.Create();
+	//    }
 
-		[Test]
-		public void Create()
-		{
-			_patrocinadorCrud.Create();
-		}
+	//    [Test]
+	//    public void Read()
+	//    {
+	//        _patrocinadorCrud.Read();
+	//    }
 
-		[Test]
-		public void Read()
-		{
-			_patrocinadorCrud.Read();
-		}
+	//    [Test]
+	//    public void Update()
+	//    {
+	//        _patrocinadorCrud.Update();
+	//    }
 
-		[Test]
-		public void Update()
-		{
-			_patrocinadorCrud.Update();
-		}
+	//    [Test]
+	//    public void Delete()
+	//    {
+	//        _patrocinadorCrud.Delete();
+	//    }
 
-		[Test]
-		public void Delete()
-		{
-			_patrocinadorCrud.Delete();
-		}
-
-	}
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrudNhTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrudNhTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -3,8 +3,6 @@
 using AltNetHispano.Agendas.Repositories.NHibernate;
 using Moq;
 using NHibernate;
-using NHibernate.Cfg;
-using NHibernate.Tool.hbm2ddl;
 using NUnit.Framework;
 
 namespace AltNetHispano.Agendas.Tests.Cruds
@@ -19,9 +17,7 @@
 		[SetUp]
 		public void BorrarRepositorios()
 		{
-			Configuration cfg = NhHelper.GetConfiguration();
-			var schemaExport = new SchemaExport(cfg);
-			schemaExport.Create(false, true);
+			NhHelperTest.CleanDb();
 		}
 
 		[SetUp]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/SchemaNhTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -0,0 +1,61 @@
+using System;
+using System.Xml;
+using System.Xml.Serialization;
+using Agendas.NHibernate;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Tool.hbm2ddl;
+using NUnit.Framework;
+
+namespace AltNetHispano.Agendas.Tests.Cruds
+{
+	[TestFixture]
+	public class SchemaNhTests
+	{
+		[Test]
+		public void ValidateSchema()
+		{
+			var cfg = NhHelper.GetConfiguration();
+
+			var schemaValidator = new SchemaValidator(cfg);
+			schemaValidator.Validate();
+		}
+
+		[Test]
+		public void BuildSessionFactory()
+		{
+			var cfg = NhHelper.GetConfiguration();
+
+			var sessionfactory = cfg.BuildSessionFactory();
+
+			Assert.IsNotNull(sessionfactory);
+		}
+
+		[Test]
+		public void ShowMapping()
+		{
+			var mapping = NhHelper.GetMapping();
+
+			var setting = new XmlWriterSettings { Indent = true };
+
+			var serializer = new XmlSerializer(typeof(HbmMapping));
+
+			var xw = XmlWriter.Create(Console.Out, setting);
+
+			serializer.Serialize(xw, mapping);
+		}
+
+		[Test]
+		public void LimpiarDb()
+		{
+			NhHelperTest.CleanDb();
+
+			var sf = NhHelper.GetSessionFactory();
+
+			var session = sf.OpenSession();
+
+			var query = session.CreateQuery("from System.Object");
+
+			Assert.IsEmpty(query.List());
+		}
+	}
+}
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -6,105 +6,105 @@
 
 namespace AltNetHispano.Agendas.Tests
 {
-	[TestFixture]
-	public class Eventos_y_patrocinadores_tests : TestBase
-	{
-		private Guid _apressId;
-		private Guid _jetbrainsId;
-		private Guid _eventoId;
-		private Agenda _agenda;
+	//[TestFixture]
+	//public class Eventos_y_patrocinadores_tests : TestBase
+	//{
+	//    private Guid _apressId;
+	//    private Guid _jetbrainsId;
+	//    private Guid _eventoId;
+	//    private Agenda _agenda;
 
-		[SetUp]
-		public void CrearDatos()
-		{
-			_agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+	//    [SetUp]
+	//    public void CrearDatos()
+	//    {
+	//        _agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
-			_apressId = CrearPatrocinador("Apress", "images/apress.gif");
-			_jetbrainsId = CrearPatrocinador("jetbrains", "images/jetbrains.png");
-			_eventoId = CrearEvento();
-		}
+	//        _apressId = CrearPatrocinador("Apress", "images/apress.gif");
+	//        _jetbrainsId = CrearPatrocinador("jetbrains", "images/jetbrains.png");
+	//        _eventoId = CrearEvento();
+	//    }
 
-		[Test]
-		public void Indicar_patrociadores()
-		{
-			_agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
+	//    [Test]
+	//    public void Indicar_patrociadores()
+	//    {
+	//        _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
 
-			var evento = DefaultEventoRepository.GetActivos().First();
-			Assert.AreNotEqual(Guid.Empty, evento.Id);
-			Assert.IsNotNull(evento.FechaInicio);
-			Assert.IsNotNull(evento.Patrocinadores);
-			Assert.IsTrue(evento.Patrocinadores.Any());
-			Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
-			Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
-		}
+	//        var evento = DefaultEventoRepository.GetActivos().First();
+	//        Assert.AreNotEqual(Guid.Empty, evento.Id);
+	//        Assert.IsNotNull(evento.FechaInicio);
+	//        Assert.IsNotNull(evento.Patrocinadores);
+	//        Assert.IsTrue(evento.Patrocinadores.Any());
+	//        Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
+	//        Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
+	//    }
 
-		[Test]
-		public void Agregar_patrociador()
-		{
-			{
-				_agenda.IndicarPatrocinadores(_eventoId, new[] {_apressId});
+	//    [Test]
+	//    public void Agregar_patrociador()
+	//    {
+	//        {
+	//            _agenda.IndicarPatrocinadores(_eventoId, new[] {_apressId});
 
-				var evento = DefaultEventoRepository.GetActivos().First();
-				Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
-				Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
-			}
+	//            var evento = DefaultEventoRepository.GetActivos().First();
+	//            Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
+	//            Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
+	//        }
 
-			{
-				_agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
+	//        {
+	//            _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
 
-				var evento = DefaultEventoRepository.GetActivos().First();
-				Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
-				Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
-			}
-		}
+	//            var evento = DefaultEventoRepository.GetActivos().First();
+	//            Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
+	//            Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
+	//        }
+	//    }
 
-		[Test]
-		public void Quitar_patrociador()
-		{
-			{
-				_agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
+	//    [Test]
+	//    public void Quitar_patrociador()
+	//    {
+	//        {
+	//            _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
 
-				var evento = DefaultEventoRepository.GetActivos().First();
-				Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
-				Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
-			}
+	//            var evento = DefaultEventoRepository.GetActivos().First();
+	//            Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
+	//            Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
+	//        }
 
-			{
-				_agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId });
+	//        {
+	//            _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId });
 
-				var evento = DefaultEventoRepository.GetActivos().First();
-				Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
-				Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
-			}
+	//            var evento = DefaultEventoRepository.GetActivos().First();
+	//            Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
+	//            Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
+	//        }
 
-			{
-				_agenda.IndicarPatrocinadores(_eventoId, new Guid[] {});
+	//        {
+	//            _agenda.IndicarPatrocinadores(_eventoId, new Guid[] {});
 
-				var evento = DefaultEventoRepository.GetActivos().First();
-				Assert.IsFalse(evento.Patrocinadores.Any());
-			}
-		}
+	//            var evento = DefaultEventoRepository.GetActivos().First();
+	//            Assert.IsFalse(evento.Patrocinadores.Any());
+	//        }
+	//    }
 
-		private static Guid CrearPatrocinador(string nombre, string images)
-		{
-			var patrocinador = new Patrocinador(nombre);
-			patrocinador.LoadLogo(images);
+	//    private static Guid CrearPatrocinador(string nombre, string images)
+	//    {
+	//        var patrocinador = new Patrocinador(nombre);
+	//        patrocinador.LoadLogo(images);
 
-			var patrocinadorRepository = DefaultPatrocinadorRepository;
-			patrocinadorRepository.Save(patrocinador);
+	//        var patrocinadorRepository = DefaultPatrocinadorRepository;
+	//        patrocinadorRepository.Save(patrocinador);
 
-			return patrocinador.Id;
-		}
+	//        return patrocinador.Id;
+	//    }
 
-		private Guid CrearEvento()
-		{
-		    var fechaInicio = DateTime.Today.AddDays(7).ToUniversalTime();
-		    var fechaTermino = fechaInicio.AddHours(2);
-            _agenda.Agendar("ADFS", TestsHelper.GetOrCreatePonente("Nelo Pauselli"), fechaInicio, fechaTermino, null, TipoEvento.Van);
+	//    private Guid CrearEvento()
+	//    {
+	//        var fechaInicio = DateTime.Today.AddDays(7).ToUniversalTime();
+	//        var fechaTermino = fechaInicio.AddHours(2);
+	//        _agenda.Agendar("ADFS", TestsHelper.GetOrCreatePonente("Nelo Pauselli"), fechaInicio, fechaTermino, null, TipoEvento.Van);
 
-			var evento = DefaultEventoRepository.GetActivos().First();
-			return evento.Id;
-		}
+	//        var evento = DefaultEventoRepository.GetActivos().First();
+	//        return evento.Id;
+	//    }
 
-	}
+	//}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -18,7 +18,7 @@
             var publicador = new Mock<IPublicador>();
             Assert.AreEqual(1, DefaultPersonaRepository.GetAll().Count);
 
-            var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
             var fechaInicioNHibernate = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc);
             var fechaTerminoNHibernate = fechaInicioNHibernate.AddHours(2);
 
@@ -50,7 +50,7 @@
             publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>(
                 t => evento = t.First().Evento);
 
-            var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
 
             agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com");
             var fechaInicio = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc);
@@ -77,7 +77,7 @@
             publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Callback<IEnumerable<Track>>(
                 t => evento = t.First().Evento);
 
-            var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository);
 
             var fechaInicio = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc);
             var fechaTermino = fechaInicio.AddHours(2);
@@ -96,7 +96,7 @@
         [Test]
         public void Quitar_ponente_de_un_evento()
         {
-            var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
             const string titulo = "Audit (parallel model) con NHibernate 3";
             Guid eventoId;
@@ -127,7 +127,7 @@
         [Test]
         public void Cambiar_ponente_de_un_evento()
         {
-            var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
             const string titulo = "Audit (parallel model) con NHibernate 3";
             Guid eventoId;
--- a/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -17,7 +17,7 @@
 		[Test]
 		public void Crear_modificar_y_publicar_evento_propuesto()
 		{
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
 			agenda.Proponer("Van", null, urlInvitacion, TipoEvento.Van);
 			{
@@ -55,7 +55,7 @@
 		[Test]
 		public void Intentar_agendar_evento_propuesto_sin_indicar_fecha()
 		{
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
 			{
 				agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
@@ -77,7 +77,7 @@
 		[Test]
 		public void Intentar_agendar_evento_propuesto_sin_indicar_ponente()
 		{
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
 			{
 				agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
@@ -101,7 +101,7 @@
 		{
 			var idEventoNoExistente = new Guid("99999999999999999999999999999999");
 
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
 			Assert.Throws<EventoNotFoundException>(() => agenda.GetEvento(idEventoNoExistente));
 		}
@@ -111,7 +111,7 @@
 		{
 			var repository = new Mock<IEventoRepository>();
 
-			var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository);
 
 			var r = agenda.Proponer(string.Empty, null, urlInvitacion, TipoEvento.Van);
 			Assert.IsFalse(r.Succeful);
@@ -122,7 +122,7 @@
 		[Test]
 		public void Intentar_proponer_evento_sin_usuario_autenticado()
 		{
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
 			SetCurrentUser(null, null);
 
@@ -132,7 +132,7 @@
 		[Test]
 		public void Proponer_evento_correctamente()
 		{
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 			agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
 
 			IList<Evento> eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance());
@@ -144,7 +144,7 @@
 		[Test]
 		public void Verificar_propuesta_separada_de_publicacion()
 		{
-			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository);
 
 			agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van);
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
--- a/Agendas/trunk/src/Agendas.Tests/TestBase.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/TestBase.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -19,10 +19,10 @@
 			get { return new PersonaRepository(); }
 		}
 
-		protected static IPatrocinadorRepository DefaultPatrocinadorRepository
-		{
-			get { return new PatrocinadorRepository(); }
-		}
+		//protected static IPatrocinadorRepository DefaultPatrocinadorRepository
+		//{
+		//    get { return new PatrocinadorRepository(); }
+		//}
 		
 		[SetUp]
 		public void LimpiarEventos()
@@ -33,7 +33,7 @@
 		[SetUp]
 		public void PatrocinadoresEventos()
 		{
-			PatrocinadorRepository.Clear();
+			//PatrocinadorRepository.Clear();
 		}
 
 		[SetUp]
--- a/Agendas/trunk/src/Agendas.Tests/TrackTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/TrackTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -15,7 +15,7 @@
         {
             var repository = DefaultEventoRepository;
 
-            var agenda = new Agenda(null, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(null, repository, DefaultPersonaRepository);
 
             var fechaInicio = DateTime.Now.AddDays(5).ToUniversalTime();
             var fechaTermino = fechaInicio.AddHours(2);
@@ -51,7 +51,7 @@
         {
             var repository = DefaultEventoRepository;
 
-            var agenda = new Agenda(null, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+            var agenda = new Agenda(null, repository, DefaultPersonaRepository);
             var fechaInicio = DateTime.Now.ToUniversalTime();
             var fechaTermino = fechaInicio.AddHours(2);
 
--- a/Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -14,11 +14,11 @@
 		private Guid _eventoId;
 
 		public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository,
-		                IPatrocinadorRepository patrocinadorRepository, Func<IDisposable> requestEmulator)
+		                Func<IDisposable> requestEmulator)
 		{
 			_requestEmulator = requestEmulator;
 			_eventoRepository = eventoRepository;
-			_agenda = new Agenda(publicador, eventoRepository, personaRepository, patrocinadorRepository);
+			_agenda = new Agenda(publicador, eventoRepository, personaRepository);
 		}
 
 		public void Proponer()
--- a/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowMemoryTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowMemoryTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -16,8 +16,7 @@
 		public void InitPublicador()
 		{
 			_publicador = new Mock<IPublicador>();
-			_workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository,
-			                         DefaultPatrocinadorRepository, () => new Mock<IDisposable>().Object);
+			_workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, () => new Mock<IDisposable>().Object);
 		}
 
 		[Test]
--- a/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowNhTests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowNhTests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -17,7 +17,7 @@
 		public void InitPublicador()
 		{
 			_publicador = new Mock<IPublicador>();
-			_workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository, () => new RequestEmulator(NhHelper.GetSessionFactory()));
+			_workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, () => new RequestEmulator(NhHelper.GetSessionFactory()));
 		}
 
 		[Test]
--- a/Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs	Mon Aug 15 20:00:02 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs	Wed Aug 17 17:54:45 2011 -0300
@@ -21,7 +21,7 @@
 
 			var publicador = new TwitterPublicador(adapter.Object);
 
-			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
 
 			agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio);
 
@@ -43,7 +43,7 @@
 
 			var publicador = new TwitterPublicador(adapter.Object);
 
-			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
+			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
 			agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio);
 
 			adapter.Verify(a => a.Update(It.IsAny<string>(), out message), Times.Once());