view Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs @ 302:11dddcc9a862 tip

Historico de Eventos, no muestra bien la Url del Patrocinador.
author juanjose.montesdeocaarbos
date Tue, 14 Aug 2012 21:54:30 -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();
		}
	}
}