changeset 255:50442a103281

Ticket #190: Que el listado de Personas venga ordenado por Nombre.
author juanjose.montesdeocaarbos
date Mon, 17 Oct 2011 08:54:45 -0300
parents 7cf64cd790ab
children 12d72efb43ca
files Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs Agendas/trunk/src/Agendas.Repositories.NHibernate/PonenteRepository.cs Agendas/trunk/src/Agendas.Repositories.Tests/PersonaCrud.cs
diffstat 3 files changed, 48 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs	Fri Oct 07 13:03:33 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs	Mon Oct 17 08:54:45 2011 -0300
@@ -27,9 +27,12 @@
 	    }
 
 	    public IList<Persona> GetAll()
-		{
-			return Objects.Values.ToList();
-		}
+	    {
+            var personas = Objects.Values.ToList();
+	        personas.Sort((first, second) => first.Nombre.CompareTo(second.Nombre));
+
+	        return personas;
+	    }
 
 		public static void Clear()
 		{
--- a/Agendas/trunk/src/Agendas.Repositories.NHibernate/PonenteRepository.cs	Fri Oct 07 13:03:33 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Repositories.NHibernate/PonenteRepository.cs	Mon Oct 17 08:54:45 2011 -0300
@@ -1,4 +1,5 @@
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using AltNetHispano.Agendas.Domain;
 using AltNetHispano.Agendas.Domain.Repositories;
@@ -14,7 +15,10 @@
 
 		public IList<Persona> GetAll()
 		{
-			return Session.QueryOver<Persona>().List();
+            var personas = Session.QueryOver<Persona>().List();
+            ((List<Persona>)personas).Sort((first, second) => first.Nombre.CompareTo(second.Nombre));
+
+		    return personas;
 		}
 
 		public Persona GetByNombre(string ponenteNombre)
--- a/Agendas/trunk/src/Agendas.Repositories.Tests/PersonaCrud.cs	Fri Oct 07 13:03:33 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Repositories.Tests/PersonaCrud.cs	Mon Oct 17 08:54:45 2011 -0300
@@ -183,5 +183,42 @@
 				Assert.IsNull(persona);
 			}
 		}
+
+        [Test]
+        public void GetAllPersonaSortByName()
+        {
+            using (_requestEmulator.Invoke())
+            {
+                CreatePersona("Pablo Morales", "pablomorales", "pablomorales@gmail.com",
+                              "http://pablomorales.blogspot.com",
+                              new[] {Roles.Usuario});
+            }
+
+            using (_requestEmulator.Invoke())
+            {
+                CreatePersona("Nelo Pauselli", "nelopauselli", "nelopauselli@gmail.com",
+                              "http://nelopauselli.blogspot.com",
+                              null);
+            }
+
+            using (_requestEmulator.Invoke())
+            {
+                CreatePersona("Jorge Gamba", "jorgegamba", "jorgegamba@gmail.com",
+                              "http://nelopauselli.blogspot.com",
+                              null);
+            }
+
+            using (_requestEmulator.Invoke())
+            {
+                var personas = _personaRepository.GetAll();
+                var primeraPersona = personas[0];
+                var segundaPersona = personas[1];
+                var terceraPersona = personas[2];
+
+                Assert.AreEqual("Jorge Gamba", primeraPersona.Nombre);
+                Assert.AreEqual("Nelo Pauselli", segundaPersona.Nombre);
+                Assert.AreEqual("Pablo Morales", terceraPersona.Nombre);
+            }
+        }
 	}
 }
\ No newline at end of file