view Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs @ 298:9bc60d166c8a

Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco. Se comentó el código de PatrocinadorApiController, que no se utiliza.
author juanjose.montesdeocaarbos
date Sun, 19 Feb 2012 16:00:38 -0300
parents 50442a103281
children
line wrap: on
line source

using System;
using System.Collections.Generic;
using System.Linq;
using AltNetHispano.Agendas.Domain;
using AltNetHispano.Agendas.Domain.Repositories;

namespace AltNetHispano.Agendas.Repositories.Memory
{
	public class PersonaRepository : RepositoryBase<Persona>, IPersonaRepository
	{
		public Persona GetByNombre(string nombre)
		{
			return Objects.Values.SingleOrDefault(p => p.Nombre == nombre);
		}

		public Cuenta GetCuenta(IdentityProviderEnum identityProvider, string username)
		{
			var cuentas = from p in Objects.Values
			             select p.Cuentas.SingleOrDefault(c => c.IdentityProvider == identityProvider && c.LogonName == username);

			return cuentas.Where(c => c != null).SingleOrDefault();
		}

	    public Persona GetByTwitter(string username)
	    {
	        return Objects.Values.SingleOrDefault(p => p.Twitter == username);
	    }

	    public IList<Persona> GetAll()
	    {
            var personas = Objects.Values.ToList();
	        personas.Sort((first, second) => first.Nombre.CompareTo(second.Nombre));

	        return personas;
	    }

		public static void Clear()
		{
			Objects.Clear();
		}
	}
}