changeset 54:3059a5f8930f

Code cleanup
author nelopauselli
date Sat, 14 May 2011 13:01:24 -0300
parents d149bfea3892
children 39f5258ebdcf
files Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Domain/Evento.cs Agendas/trunk/src/Agendas.Domain/Exceptions/EventoNotFoundException.cs Agendas/trunk/src/Agendas.Domain/Exceptions/IdentityContextNotConfiguredException.cs Agendas/trunk/src/Agendas.Domain/ISeguridad.cs Agendas/trunk/src/Agendas.Domain/IdentityContext.cs Agendas/trunk/src/Agendas.Domain/Ponente.cs Agendas/trunk/src/Agendas.Domain/Repositories/IEventoRepository.cs Agendas/trunk/src/Agendas.Tests/EventoTests.cs Agendas/trunk/src/Agendas.Tests/PonentesTests.cs Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Agendas/trunk/src/Agendas.Tests/PulicarTests.cs Agendas/trunk/src/Agendas.Tests/TestBase.cs Agendas/trunk/src/Agendas.Tests/TrackTests.cs Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs
diffstat 16 files changed, 400 insertions(+), 400 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Sat May 14 13:01:24 2011 -0300
@@ -7,12 +7,13 @@
 {
 	public class Agenda
 	{
+		private readonly IEventoRepository _eventosRepository;
+		private readonly IPonenteRepository _ponenteRepository;
 		private readonly IPublicador _publicador;
 		private readonly IRecordador _recordador;
-	    private readonly IEventoRepository _eventosRepository;
-		private readonly IPonenteRepository _ponenteRepository;
 
-		public Agenda(IPublicador publicador, IRecordador recordador, IEventoRepository eventosRepository, IPonenteRepository ponenteRepository)
+		public Agenda(IPublicador publicador, IRecordador recordador, IEventoRepository eventosRepository,
+		              IPonenteRepository ponenteRepository)
 		{
 			_publicador = publicador;
 			_ponenteRepository = ponenteRepository;
@@ -20,39 +21,51 @@
 			_recordador = recordador;
 		}
 
-        public Resultado Publicar(string titulo, string ponenteNombre, DateTime? fecha)
-        {
-        	var ponente = GetPonente(ponenteNombre);
+		public Evento GetEvento(Guid id)
+		{
+			return _eventosRepository.Get(id);
+		}
 
-        	var evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento (titulo);
-            evento.Publicar(ponente, fecha);
+		public IList<Evento> GetEventosPropuestos()
+		{
+			return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>();
+		}
 
-			if (!evento.Fecha.HasValue)
-				return new Resultado(false);
-			if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre))
-				return new Resultado(false);
+		public IList<Evento> GetEventosPublicados()
+		{
+			return _eventosRepository.GetEventosConFecha() ?? new List<Evento>();
+		}
 
-        	if (_publicador != null)
-        		_publicador.Publicar(evento);
+		public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha)
+		{
+			Evento evento = _eventosRepository.Get(id);
+			if (evento == null)
+				throw new EventoNotFoundException(id);
 
-        	_eventosRepository.Save(evento);
-        	_ponenteRepository.Save(ponente);
+			Ponente ponente = GetPonente(ponenteNombre);
+
+			if (evento.Titulo != titulo)
+				evento.CambiarTitulo(titulo);
 
-        	return new Resultado(true);
-        }
+			if (evento.Fecha != fecha || evento.Ponente != ponente)
+				evento.Actualizar(ponente, fecha);
+
+			if (_publicador != null)
+				_publicador.Publicar(evento);
 
-		public void Recordar(Guid eventoId)
+			return new Resultado(true);
+		}
+
+		public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre)
 		{
-			var evento = _eventosRepository.Get(eventoId);
-			if (_recordador != null)
-				_recordador.Recordar(evento);
+			return ModificarEvento(id, titulo, ponenteNombre, null);
 		}
 
 		public Resultado Proponer(string titulo, string ponenteNombre)
 		{
-			var ponente = GetPonente(ponenteNombre);
-			var evento = new Evento (titulo);
-		    evento.Actualizar(ponente);
+			Ponente ponente = GetPonente(ponenteNombre);
+			var evento = new Evento(titulo);
+			evento.Actualizar(ponente);
 
 			if (string.IsNullOrWhiteSpace(evento.Titulo))
 				return new Resultado(false);
@@ -63,64 +76,52 @@
 			return new Resultado(true);
 		}
 
-        public IList<Evento> GetEventosPropuestos()
-        {
-			return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>();
-        }
-
-        public IList<Evento> GetEventosPublicados()
-        {
-            return _eventosRepository.GetEventosConFecha() ?? new List<Evento>();
-        }
-
-		public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha)
+		public Resultado Publicar(string titulo, string ponenteNombre, DateTime? fecha)
 		{
-			var evento = _eventosRepository.Get(id);
-			if (evento == null)
-				throw new EventoNotFoundException(id);
+			Ponente ponente = GetPonente(ponenteNombre);
 
-			var ponente = GetPonente(ponenteNombre);
+			Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento(titulo);
+			evento.Publicar(ponente, fecha);
 
-            if (evento.Titulo != titulo)
-                evento.CambiarTitulo(titulo);
+			if (!evento.Fecha.HasValue)
+				return new Resultado(false);
+			if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre))
+				return new Resultado(false);
 
-		    if (evento.Fecha != fecha || evento.Ponente != ponente)
-                evento.Actualizar(ponente, fecha);
+			if (_publicador != null)
+				_publicador.Publicar(evento);
 
-		    if (_publicador != null)
-				_publicador.Publicar(evento);
+			_eventosRepository.Save(evento);
+			_ponenteRepository.Save(ponente);
 
 			return new Resultado(true);
 		}
 
-		public Evento GetEvento(Guid id)
+		public void RealizarEvento(Guid eventoId, string sintesis)
 		{
-			return _eventosRepository.Get(id);
+			Evento evento = _eventosRepository.Get(eventoId);
+			if (evento != null)
+				evento.Realizado(sintesis);
+		}
+
+		public void Recordar(Guid eventoId)
+		{
+			Evento evento = _eventosRepository.Get(eventoId);
+			if (_recordador != null)
+				_recordador.Recordar(evento);
 		}
 
 		public void RegistrarPonente(string nombre, string mail, string twitter, string blog)
 		{
-		    var ponente = new Ponente(nombre, mail, twitter, blog);
+			var ponente = new Ponente(nombre, mail, twitter, blog);
 			_ponenteRepository.Save(ponente);
 		}
 
 		private Ponente GetPonente(string nombre)
 		{
-		    var ponente=_ponenteRepository.GetByNombre(nombre) ?? new Ponente(nombre);
-            _ponenteRepository.Save(ponente);
-		    return ponente;
+			Ponente ponente = _ponenteRepository.GetByNombre(nombre) ?? new Ponente(nombre);
+			_ponenteRepository.Save(ponente);
+			return ponente;
 		}
-
-		public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre)
-		{
-			return ModificarEvento(id, titulo, ponenteNombre, null);
-		}
-
-	    public void RealizarEvento(Guid eventoId, string sintesis)
-	    {
-	        var evento = _eventosRepository.Get(eventoId);
-            if (evento != null)
-                evento.Realizado(sintesis);
-	    }
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Evento.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs	Sat May 14 13:01:24 2011 -0300
@@ -5,101 +5,101 @@
 {
 	public class Evento
 	{
-	    public Evento(string titulo)
-	    {
-	        Id = Guid.NewGuid();
-	        Titulo = titulo;
+		private readonly IList<Track> _tracks;
+		private IList<string> _enlaces;
 
-	        _enlaces = new List<string>();
-	        _tracks = new List<Track>();
-	    }
+		public Evento(string titulo)
+		{
+			Id = Guid.NewGuid();
+			Titulo = titulo;
 
-	    public Guid Id { get; private set; }
+			_enlaces = new List<string>();
+			_tracks = new List<Track>();
+		}
+
+		public Guid Id { get; private set; }
 		public string Titulo { get; private set; }
 		public DateTime? Fecha { get; private set; }
 		public string Sintesis { get; private set; }
-        public Ponente Ponente { get; private set; }
-        protected string Usuario { get; private set; }
-
-	    private IList<string> _enlaces;
+		public Ponente Ponente { get; private set; }
+		protected string Usuario { get; private set; }
 
-	    public IEnumerable<string> Enlaces
-	    {
-	        get { return _enlaces; }
-	    }
+		public IEnumerable<string> Enlaces
+		{
+			get { return _enlaces; }
+		}
+
+		public IEnumerable<Track> Tracks
+		{
+			get { return _tracks; }
+		}
 
-        private readonly IList<Track> _tracks;
-        public IEnumerable<Track> Tracks
-	    {
-	        get { return _tracks; }
-	    }
+		public void Actualizar(Ponente ponente, DateTime? fecha)
+		{
+			Usuario = IdentityContext.GetUserName();
+			Ponente = ponente;
+			Fecha = fecha;
 
-	    public void Actualizar(Ponente ponente, DateTime? fecha)
-	    {
-            Usuario = IdentityContext.GetUserName();
-            Ponente = ponente;
-	        Fecha = fecha;
+			AddTracks(new Track(Accion.Modificar));
+		}
 
-            AddTracks(new Track(Accion.Modificar));
-	    }
-
-	    public void Actualizar(Ponente ponente)
-	    {
-            Usuario = IdentityContext.GetUserName();
-            Ponente = ponente;
-	    }
+		public void Actualizar(Ponente ponente)
+		{
+			Usuario = IdentityContext.GetUserName();
+			Ponente = ponente;
+		}
 
-	    public void CambiarTitulo(string titulo)
-	    {
-            Usuario = IdentityContext.GetUserName();
-            Titulo = titulo;
-            AddTracks(new Track(Accion.CambiarTitulo));
-	    }
+		public void CambiarTitulo(string titulo)
+		{
+			Usuario = IdentityContext.GetUserName();
+			Titulo = titulo;
+			AddTracks(new Track(Accion.CambiarTitulo));
+		}
 
-	    public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces)
-	    {
-            Usuario = IdentityContext.GetUserName();
-            Fecha = fecha;
-	        Sintesis = sintesis;
-	        _enlaces = enlaces;
-	    }
+		public void Publicar(Ponente ponente, DateTime? fecha)
+		{
+			Usuario = IdentityContext.GetUserName();
+			Ponente = ponente;
+			Fecha = fecha;
+			AddTracks(new Track(Accion.Publicar));
+		}
 
-	    private void AddTracks(Track track)
-	    {
-	        _tracks.Add(track);
-	    }
+		public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces)
+		{
+			Usuario = IdentityContext.GetUserName();
+			Fecha = fecha;
+			Sintesis = sintesis;
+			_enlaces = enlaces;
+		}
 
-	    public void Realizado(string sintesis)
-	    {
-            Usuario = IdentityContext.GetUserName();
-            Sintesis = sintesis;
-            AddTracks(new Track(Accion.Realizar));
-	    }
+		public void Realizado(string sintesis)
+		{
+			Usuario = IdentityContext.GetUserName();
+			Sintesis = sintesis;
+			AddTracks(new Track(Accion.Realizar));
+		}
 
-	    public void Publicar(Ponente ponente, DateTime? fecha)
-	    {
-	        Usuario = IdentityContext.GetUserName();
-	        Ponente = ponente;
-	        Fecha = fecha;
-            AddTracks(new Track(Accion.Publicar));
-	    }
+		private void AddTracks(Track track)
+		{
+			_tracks.Add(track);
+		}
 	}
 
-    public class Track
-    {
-        public Track(string accion)
-        {
-            Accion = accion;
-        }
+	public class Track
+	{
+		public Track(string accion)
+		{
+			Accion = accion;
+		}
 
-        public string Accion { get; private set; }
-    }
-    
-    public class Accion
-    {
-        public const string Publicar = "Publicar";
-        public const string Modificar = "Modificar";
-        public const string CambiarTitulo = "CambiarTitulo";
-        public const string Realizar = "Realizar";
-    }
+		public string Accion { get; private set; }
+	}
+
+	public class Accion
+	{
+		public const string Publicar = "Publicar";
+		public const string Modificar = "Modificar";
+		public const string CambiarTitulo = "CambiarTitulo";
+		public const string Realizar = "Realizar";
+	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Exceptions/EventoNotFoundException.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Exceptions/EventoNotFoundException.cs	Sat May 14 13:01:24 2011 -0300
@@ -6,6 +6,7 @@
 	{
 		public EventoNotFoundException(Guid eventoId)
 			: base(string.Format("No es posible encontrar el evento con id: {0}", eventoId))
-		{ }
+		{
+		}
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Exceptions/IdentityContextNotConfiguredException.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Exceptions/IdentityContextNotConfiguredException.cs	Sat May 14 13:01:24 2011 -0300
@@ -2,7 +2,7 @@
 
 namespace AltNetHispano.Agendas.Domain.Exceptions
 {
-    public class IdentityContextNotConfiguredException : Exception
-    {
-    }
+	public class IdentityContextNotConfiguredException : Exception
+	{
+	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/ISeguridad.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/ISeguridad.cs	Sat May 14 13:01:24 2011 -0300
@@ -1,7 +1,7 @@
 namespace AltNetHispano.Agendas.Domain
 {
-    public interface ISeguridad
-    {
-        string GetUserName();
-    }
-}
+	public interface ISeguridad
+	{
+		string GetUserName();
+	}
+}
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/IdentityContext.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/IdentityContext.cs	Sat May 14 13:01:24 2011 -0300
@@ -2,28 +2,27 @@
 
 namespace AltNetHispano.Agendas.Domain
 {
-    public class IdentityContext
-    {
-        private static ISeguridad _current;
+	public class IdentityContext
+	{
+		private static ISeguridad _current;
 
-        public static ISeguridad Current
-        {
-            private get {
-                if (_current == null)
-                    throw new IdentityContextNotConfiguredException();
-                return _current;
-            }
-            set {
-                _current = value;
-            }
-        }
+		public static ISeguridad Current
+		{
+			private get
+			{
+				if (_current == null)
+					throw new IdentityContextNotConfiguredException();
+				return _current;
+			}
+			set { _current = value; }
+		}
 
-        public static string GetUserName()
-        {
-            var username = Current.GetUserName();
-            if (string.IsNullOrWhiteSpace(username))
-                throw new UsuarioNoAutenticadoException();
-            return username;
-        }
-    }
+		public static string GetUserName()
+		{
+			string username = Current.GetUserName();
+			if (string.IsNullOrWhiteSpace(username))
+				throw new UsuarioNoAutenticadoException();
+			return username;
+		}
+	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Ponente.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Ponente.cs	Sat May 14 13:01:24 2011 -0300
@@ -2,22 +2,23 @@
 
 namespace AltNetHispano.Agendas.Domain
 {
-	public class Ponente {
-	    public Ponente(string nombre, string mail, string twitter, string blog)
-            : this(nombre)
-	    {
-	        Mail = mail;
-	        Twitter = twitter;
-	        Blog = blog;
-	    }
+	public class Ponente
+	{
+		public Ponente(string nombre, string mail, string twitter, string blog)
+			: this(nombre)
+		{
+			Mail = mail;
+			Twitter = twitter;
+			Blog = blog;
+		}
 
-	    public Ponente(string nombre)
-	    {
-            Id = Guid.NewGuid();
-            Nombre = nombre;
-	    }
+		public Ponente(string nombre)
+		{
+			Id = Guid.NewGuid();
+			Nombre = nombre;
+		}
 
-	    public Guid Id { get; private set; }
+		public Guid Id { get; private set; }
 
 		public string Nombre { get; private set; }
 
@@ -26,6 +27,5 @@
 		public string Twitter { get; private set; }
 
 		public string Blog { get; private set; }
-
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Domain/Repositories/IEventoRepository.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Repositories/IEventoRepository.cs	Sat May 14 13:01:24 2011 -0300
@@ -5,19 +5,19 @@
 {
 	public interface IEventoRepository
 	{
+		void Delete(Evento evento);
+		Evento Get(Guid vanId);
+		IList<Evento> GetEventosConFecha();
+		IList<Evento> GetEventosSinFecha();
+		Evento GetPropuestaByTitulo(string titulo);
 		void Save(Evento evento);
-		void Delete(Evento evento);
 		void Update(Evento evento);
-        Evento Get(Guid vanId);
-		IList<Evento> GetEventosSinFecha();
-		IList<Evento> GetEventosConFecha();
-		Evento GetPropuestaByTitulo(string titulo);
 	}
 
 	public interface IPonenteRepository
 	{
-		void Save(Ponente ponente);
+		IList<Ponente> GetAll();
 		Ponente GetByNombre(string ponenteNombre);
-		IList<Ponente> GetAll();
+		void Save(Ponente ponente);
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/EventoTests.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/EventoTests.cs	Sat May 14 13:01:24 2011 -0300
@@ -8,17 +8,17 @@
 namespace AltNetHispano.Agendas.Tests
 {
 	[TestFixture]
-    public class EventoTests : TestBase
+	public class EventoTests : TestBase
 	{
 		[Test]
 		public void Van_crud()
 		{
 			Guid vanId;
-		    {
-		        var van = new Evento("TDD - Diseño Basado en Ejemplos");
-                van.Actualizar(new Ponente ("Carlos Blé"), new DateTime(2010, 04, 16));
+			{
+				var van = new Evento("TDD - Diseño Basado en Ejemplos");
+				van.Actualizar(new Ponente("Carlos Blé"), new DateTime(2010, 04, 16));
 
-                IEventoRepository eventoRepository = new EventoRepository();
+				IEventoRepository eventoRepository = new EventoRepository();
 
 				eventoRepository.Save(van);
 				vanId = van.Id;
@@ -37,7 +37,7 @@
 				Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo);
 				Assert.AreEqual(new DateTime(2010, 04, 16), van.Fecha);
 
-			    van.Realizado(new DateTime(2010, 04, 17), sintesis, new[] {"www.carlosble.com", "www.dirigidoPorTests.com"});
+				van.Realizado(new DateTime(2010, 04, 17), sintesis, new[] {"www.carlosble.com", "www.dirigidoPorTests.com"});
 
 				eventoRepository.Update(van);
 			}
@@ -55,7 +55,7 @@
 				Assert.IsNotNull(van.Enlaces);
 				Assert.AreEqual(2, van.Enlaces.Count());
 				Assert.Contains("www.carlosble.com", van.Enlaces.ToList());
-                Assert.Contains("www.dirigidoPorTests.com", van.Enlaces.ToList());
+				Assert.Contains("www.dirigidoPorTests.com", van.Enlaces.ToList());
 
 				eventoRepository.Delete(van);
 			}
--- a/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs	Sat May 14 13:01:24 2011 -0300
@@ -9,6 +9,23 @@
 	public class PonentesTests : TestBase
 	{
 		[Test]
+		public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado()
+		{
+			var publicador = new Mock<IPublicador>();
+
+			var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
+
+			agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
+			agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5));
+
+			Assert.AreEqual(2, agenda.GetEventosPublicados().Count);
+
+			publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2));
+
+			Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count);
+		}
+
+		[Test]
 		public void Publicar_evento_con_ponente_registrado()
 		{
 			var publicador = new Mock<IPublicador>();
@@ -51,22 +68,5 @@
 			Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
 			Assert.IsNullOrEmpty(evento.Ponente.Twitter);
 		}
-
-		[Test]
-		public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado()
-		{
-			var publicador = new Mock<IPublicador>();
-
-			var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
-
-			agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
-			agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5));
-
-			Assert.AreEqual(2, agenda.GetEventosPublicados().Count);
-
-			publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2));
-
-			Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count);
-		}
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs	Sat May 14 13:01:24 2011 -0300
@@ -13,51 +13,45 @@
 	public class PropuestasTests : TestBase
 	{
 		[Test]
-		public void Proponer_evento_correctamente()
+		public void Crear_modificar_y_publicar_evento_propuesto()
 		{
-            var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
-			agenda.Proponer("Van propuesta", null);
+			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
+
+			agenda.Proponer("Van", null);
+			{
+				IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
+				IList<Evento> eventosPublicados = agenda.GetEventosPublicados();
+
+				Assert.AreEqual(1, eventosPropuestos.Count);
+				Assert.AreEqual(0, eventosPublicados.Count);
 
-			IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
-			Assert.IsNotNull(eventosPropuestos);
-			Assert.AreEqual(1, eventosPropuestos.Count);
-			Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo);
-		}
+				var evento = eventosPropuestos.FirstOrDefault();
+				agenda.ModificarPropuesta(evento.Id, "Van 2", "otro ponente");
+
+				eventosPropuestos = agenda.GetEventosPropuestos();
+				Assert.AreEqual(1, eventosPropuestos.Count);
 
-        [Test]
-        public void Verificar_propuesta_separada_de_publicacion()
-        {
-            var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
+				evento = eventosPropuestos.FirstOrDefault();
+				Assert.AreEqual("Van 2", evento.Titulo);
+				Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
+			}
 
-			agenda.Proponer("Van propuesta", null);
-            var r = agenda.Publicar("Van publicada", "jjmontes", DateTime.Now);
+			var r = agenda.Publicar("Van 2", "jjmontes", DateTime.Now);
 			Assert.IsTrue(r.Succeful);
-
-            IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
-            IList<Evento> eventosPublicados = agenda.GetEventosPublicados();
-
-            Assert.AreEqual(1, eventosPropuestos.Count);
-            Assert.AreEqual(1, eventosPublicados.Count);
-		}
+			{
+				IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
+				IList<Evento> eventosPublicados = agenda.GetEventosPublicados();
 
-		[Test]
-		public void Intentar_proponer_evento_sin_titulo()
-		{
-			var repository = new Mock<IEventoRepository>();
-
-            var agenda = new Agenda(null, null, repository.Object, DefaultPonenteRepository);
-
-			var r = agenda.Proponer(string.Empty, null);
-			Assert.IsFalse(r.Succeful);
-
-			repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
+				Assert.AreEqual(0, eventosPropuestos.Count);
+				Assert.AreEqual(1, eventosPublicados.Count);
+			}
 		}
 
 		[Test]
 		public void Intentar_agendar_evento_propuesto_sin_indicar_fecha()
 		{
-            var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
-            
+			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
+
 			{
 				agenda.Proponer("Van propuesta", null);
 			}
@@ -73,8 +67,8 @@
 		[Test]
 		public void Intentar_agendar_evento_propuesto_sin_indicar_ponente()
 		{
-            var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
-            
+			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
+
 			{
 				agenda.Proponer("Van propuesta", null);
 			}
@@ -90,38 +84,26 @@
 		}
 
 		[Test]
-		public void Crear_modificar_y_publicar_evento_propuesto()
+		public void Intentar_obtener_un_evento_inexistente()
 		{
+			var idEventoNoExistente = new Guid("99999999999999999999999999999999");
+
 			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
 
-			agenda.Proponer("Van", null);
-			{
-				IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
-				IList<Evento> eventosPublicados = agenda.GetEventosPublicados();
-
-				Assert.AreEqual(1, eventosPropuestos.Count);
-				Assert.AreEqual(0, eventosPublicados.Count);
-
-			    var evento = eventosPropuestos.FirstOrDefault();
-                agenda.ModificarPropuesta(evento.Id, "Van 2", "otro ponente");
-
-                eventosPropuestos = agenda.GetEventosPropuestos();
-                Assert.AreEqual(1, eventosPropuestos.Count);
+			Assert.IsNull(agenda.GetEvento(idEventoNoExistente));
+		}
 
-                evento = eventosPropuestos.FirstOrDefault();
-                Assert.AreEqual("Van 2", evento.Titulo);
-                Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
-			}
-			
-			var r = agenda.Publicar("Van 2", "jjmontes", DateTime.Now);
-			Assert.IsTrue(r.Succeful);
-			{
-				IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
-				IList<Evento> eventosPublicados = agenda.GetEventosPublicados();
+		[Test]
+		public void Intentar_proponer_evento_sin_titulo()
+		{
+			var repository = new Mock<IEventoRepository>();
 
-				Assert.AreEqual(0, eventosPropuestos.Count);
-				Assert.AreEqual(1, eventosPublicados.Count);
-			}
+			var agenda = new Agenda(null, null, repository.Object, DefaultPonenteRepository);
+
+			var r = agenda.Proponer(string.Empty, null);
+			Assert.IsFalse(r.Succeful);
+
+			repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
 		}
 
 		[Test]
@@ -135,13 +117,31 @@
 		}
 
 		[Test]
-		public void Intentar_obtener_un_evento_inexistente()
+		public void Proponer_evento_correctamente()
 		{
-			var idEventoNoExistente = new Guid("99999999999999999999999999999999");
+			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
+			agenda.Proponer("Van propuesta", null);
 
+			IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
+			Assert.IsNotNull(eventosPropuestos);
+			Assert.AreEqual(1, eventosPropuestos.Count);
+			Assert.AreEqual("Van propuesta", eventosPropuestos[0].Titulo);
+		}
+
+		[Test]
+		public void Verificar_propuesta_separada_de_publicacion()
+		{
 			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
 
-			Assert.IsNull(agenda.GetEvento(idEventoNoExistente));
+			agenda.Proponer("Van propuesta", null);
+			var r = agenda.Publicar("Van publicada", "jjmontes", DateTime.Now);
+			Assert.IsTrue(r.Succeful);
+
+			IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
+			IList<Evento> eventosPublicados = agenda.GetEventosPublicados();
+
+			Assert.AreEqual(1, eventosPropuestos.Count);
+			Assert.AreEqual(1, eventosPublicados.Count);
 		}
-    }
+	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs	Sat May 14 13:01:24 2011 -0300
@@ -8,50 +8,13 @@
 
 namespace AltNetHispano.Agendas.Tests
 {
-    [TestFixture]
+	[TestFixture]
 	public class PulicarTests : TestBase
 	{
 		[Test]
-		public void Publicar_evento_correctamente()
-		{
-			var publicador = new Mock<IPublicador>();
-
-			var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
-
-			agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now);
-			Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
-
-			publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
-		}
-
-		[Test]
-		public void Intentar_publicar_evento_sin_usuario_autenticado()
+		public void CompositePublicador_constructor_parametro_null_debe_generar_ArgumentNullException()
 		{
-		    SetCurrentUser(null);
-
-			var publicador = new Mock<IPublicador>();
-			var repository = new Mock<IEventoRepository>();
-
-			var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository);
-
-			Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now));
-
-			publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(0));
-			repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
-		}
-
-		[Test]
-		public void Intentar_publicar_evento_sin_servicio_de_seguridad()
-		{
-		    IdentityContext.Current = null;
-
-			var publicador = new Mock<IPublicador>();
-			var repository = new Mock<IEventoRepository>();
-
-			var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository);
-
-            Assert.Throws<IdentityContextNotConfiguredException>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now));
-			repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
+			Assert.Throws<ArgumentNullException>(() => new CompositePublicador(null));
 		}
 
 		[Test]
@@ -72,6 +35,37 @@
 		}
 
 		[Test]
+		public void Intentar_publicar_evento_sin_servicio_de_seguridad()
+		{
+			IdentityContext.Current = null;
+
+			var publicador = new Mock<IPublicador>();
+			var repository = new Mock<IEventoRepository>();
+
+			var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository);
+
+			Assert.Throws<IdentityContextNotConfiguredException>(
+				() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now));
+			repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
+		}
+
+		[Test]
+		public void Intentar_publicar_evento_sin_usuario_autenticado()
+		{
+			SetCurrentUser(null);
+
+			var publicador = new Mock<IPublicador>();
+			var repository = new Mock<IEventoRepository>();
+
+			var agenda = new Agenda(publicador.Object, null, repository.Object, DefaultPonenteRepository);
+
+			Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now));
+
+			publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(0));
+			repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
+		}
+
+		[Test]
 		public void Publicar_evento_con_multiples_publicadores()
 		{
 			var publicador1 = new Mock<IPublicador>();
@@ -79,7 +73,8 @@
 
 			var repository = new Mock<IEventoRepository>();
 
-			var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), null, repository.Object, DefaultPonenteRepository);
+			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null,
+			                        repository.Object, DefaultPonenteRepository);
 
 			agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now);
 
@@ -89,22 +84,16 @@
 		}
 
 		[Test]
-		public void Publicar_y_recordar_evento()
+		public void Publicar_evento_correctamente()
 		{
-			var publicador1 = new Mock<IPublicador>();
-			var publicador2 = new Mock<IPublicador>();
-			var recordador1 = new Mock<IRecordador>();
+			var publicador = new Mock<IPublicador>();
 
-			var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object, DefaultEventoRepository, DefaultPonenteRepository);
+			var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
 
 			agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now);
-
-			var van = agenda.GetEventosPublicados().Single(v => v.Titulo == "Van para publicar");
-			agenda.Recordar(van.Id);
+			Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
 
-			publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
-			publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
-			recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1));
+			publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
 		}
 
 		[Test]
@@ -133,15 +122,29 @@
 			Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
 			Assert.AreEqual(fecha, evento.Fecha);
 
-            var idEventoNoExistente = new Guid("99999999999999999999999999999999");
-            Assert.Throws<EventoNotFoundException>(
-                () => agenda.ModificarEvento(idEventoNoExistente, "algún título", "un ponente", DateTime.Now));
-        }
+			var idEventoNoExistente = new Guid("99999999999999999999999999999999");
+			Assert.Throws<EventoNotFoundException>(
+				() => agenda.ModificarEvento(idEventoNoExistente, "algún título", "un ponente", DateTime.Now));
+		}
+
+		[Test]
+		public void Publicar_y_recordar_evento()
+		{
+			var publicador1 = new Mock<IPublicador>();
+			var publicador2 = new Mock<IPublicador>();
+			var recordador1 = new Mock<IRecordador>();
 
-        [Test]
-        public void CompositePublicador_constructor_parametro_null_debe_generar_ArgumentNullException()
-        {
-            Assert.Throws<ArgumentNullException>(() => new CompositePublicador(null));
-        }
-    }
+			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object,
+			                        DefaultEventoRepository, DefaultPonenteRepository);
+
+			agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now);
+
+			var van = agenda.GetEventosPublicados().Single(v => v.Titulo == "Van para publicar");
+			agenda.Recordar(van.Id);
+
+			publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
+			publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
+			recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1));
+		}
+	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/TestBase.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/TestBase.cs	Sat May 14 13:01:24 2011 -0300
@@ -8,13 +8,6 @@
 {
 	public class TestBase
 	{
-		protected static void SetCurrentUser(string username)
-		{
-			var seguridad = new Mock<ISeguridad>();
-			seguridad.Setup(s => s.GetUserName()).Returns(username);
-		    IdentityContext.Current = seguridad.Object;
-		}
-
 		protected static IEventoRepository DefaultEventoRepository
 		{
 			get { return new EventoRepository(); }
@@ -37,11 +30,17 @@
 			PonenteRepository.Clear();
 		}
 
-        [SetUp]
-        public void SetearUsuario()
-        {
-            SetCurrentUser("neluz");
-        }
+		[SetUp]
+		public void SetearUsuario()
+		{
+			SetCurrentUser("neluz");
+		}
 
-    }
+		protected static void SetCurrentUser(string username)
+		{
+			var seguridad = new Mock<ISeguridad>();
+			seguridad.Setup(s => s.GetUserName()).Returns(username);
+			IdentityContext.Current = seguridad.Object;
+		}
+	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/TrackTests.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/TrackTests.cs	Sat May 14 13:01:24 2011 -0300
@@ -5,49 +5,48 @@
 
 namespace AltNetHispano.Agendas.Tests
 {
-    [TestFixture]
-    public class TrackTests : TestBase
-    {
-        [Test]
-        public void Track_al_publicar_y_modificar_evento()
-        {
-            var repository = DefaultEventoRepository;
+	[TestFixture]
+	public class TrackTests : TestBase
+	{
+		[Test]
+		public void Track_al_publicar_y_modificar_evento()
+		{
+			var repository = DefaultEventoRepository;
 
-            var agenda = new Agenda(null, null, repository, DefaultPonenteRepository);
+			var agenda = new Agenda(null, null, repository, DefaultPonenteRepository);
 
-            var fecha = DateTime.Now.AddDays(5);
-            agenda.Publicar("Html 5", "jjmontes", fecha);
-            var evento = repository.GetEventosConFecha().First();
+			var fecha = DateTime.Now.AddDays(5);
+			agenda.Publicar("Html 5", "jjmontes", fecha);
+			var evento = repository.GetEventosConFecha().First();
 
-            Assert.AreEqual(1, evento.Tracks.Count());
-            Assert.AreEqual(Accion.Publicar, evento.Tracks.Last().Accion);
+			Assert.AreEqual(1, evento.Tracks.Count());
+			Assert.AreEqual(Accion.Publicar, evento.Tracks.Last().Accion);
 
-            agenda.ModificarEvento(evento.Id, "Html 5", "otro ponente", fecha);
-            Assert.AreEqual(2, evento.Tracks.Count());
-            Assert.AreEqual(Accion.Modificar, evento.Tracks.Last().Accion);
+			agenda.ModificarEvento(evento.Id, "Html 5", "otro ponente", fecha);
+			Assert.AreEqual(2, evento.Tracks.Count());
+			Assert.AreEqual(Accion.Modificar, evento.Tracks.Last().Accion);
 
-            agenda.ModificarEvento(evento.Id, "Html 5 y Css 3", "otro ponente", fecha);
-            Assert.AreEqual(3, evento.Tracks.Count());
-            Assert.AreEqual(Accion.CambiarTitulo, evento.Tracks.Last().Accion);
-        }
+			agenda.ModificarEvento(evento.Id, "Html 5 y Css 3", "otro ponente", fecha);
+			Assert.AreEqual(3, evento.Tracks.Count());
+			Assert.AreEqual(Accion.CambiarTitulo, evento.Tracks.Last().Accion);
+		}
 
-        [Test]
-        public void Track_al_publicar_y_realizar_evento()
-        {
-            var repository = DefaultEventoRepository;
+		[Test]
+		public void Track_al_publicar_y_realizar_evento()
+		{
+			var repository = DefaultEventoRepository;
 
-            var agenda = new Agenda(null, null, repository, DefaultPonenteRepository);
+			var agenda = new Agenda(null, null, repository, DefaultPonenteRepository);
 
-            agenda.Publicar("Html 5", "jjmontes", DateTime.Now);
-            var evento = repository.GetEventosConFecha().First();
+			agenda.Publicar("Html 5", "jjmontes", DateTime.Now);
+			var evento = repository.GetEventosConFecha().First();
 
-            Assert.AreEqual(1, evento.Tracks.Count());
-            Assert.AreEqual(Accion.Publicar, evento.Tracks.Last().Accion);
+			Assert.AreEqual(1, evento.Tracks.Count());
+			Assert.AreEqual(Accion.Publicar, evento.Tracks.Last().Accion);
 
-            agenda.RealizarEvento(evento.Id, "Esta es la sintesis");
-            Assert.AreEqual(2, evento.Tracks.Count());
-            Assert.AreEqual(Accion.Realizar, evento.Tracks.Last().Accion);
-        }
-
-    }
+			agenda.RealizarEvento(evento.Id, "Esta es la sintesis");
+			Assert.AreEqual(2, evento.Tracks.Count());
+			Assert.AreEqual(Accion.Realizar, evento.Tracks.Last().Accion);
+		}
+	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs	Sat May 14 13:01:24 2011 -0300
@@ -1,7 +1,6 @@
 using System;
 using System.Linq;
 using System.Web.Mvc;
-using AltNetHispano.Agendas.Domain.Exceptions;
 using AltNetHispano.Agendas.Factories;
 using AltNetHispano.Agendas.Web.Models;
 
--- a/Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs	Sat May 14 12:45:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs	Sat May 14 13:01:24 2011 -0300
@@ -1,7 +1,6 @@
 using System;
 using System.Linq;
 using System.Web.Mvc;
-using AltNetHispano.Agendas.Domain.Exceptions;
 using AltNetHispano.Agendas.Factories;
 using AltNetHispano.Agendas.Web.Models;