view Agendas/trunk/src/Agendas.Repositories.NHibernate/PonenteRepository.cs @ 179:1deccd6c3cb2

Aplicando seguridad x roles en sitio web
author nelopauselli
date Mon, 08 Aug 2011 15:24:26 -0300
parents 2dbb15f4510f
children a36a76bd6ec3
line wrap: on
line source

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

namespace AltNetHispano.Agendas.Repositories.NHibernate
{
	public class PersonaRepository : RepositoryBase<Persona>, IPersonaRepository
	{
		public PersonaRepository(ISessionFactory sessionFactory) : base(sessionFactory)
		{
		}

		public IList<Persona> GetAll()
		{
			return Session.QueryOver<Persona>().List();
		}

		public Persona GetByNombre(string ponenteNombre)
		{
			return Session.QueryOver<Persona>().Where(p => p.Nombre == ponenteNombre).SingleOrDefault();
		}

		public Cuenta GetCuenta(IdentityProviderEnum identityProvider, string username)
		{
			return
				Session.QueryOver<Cuenta>().Where(c => c.IdentityProvider == identityProvider && c.LogonName == username).
					SingleOrDefault();
		}

	    public Persona GetByTwitter(string username)
	    {
	        return Session.QueryOver<Persona>().Where(p => p.Twitter == username).SingleOrDefault();
	    }
	}
}