view Agendas/trunk/src/Agendas.Repositories.NHibernate/PatrocinadorRepository.cs @ 278:6f5ab71614d4

#125: ABM de patrocinadores.
author juanjose.montesdeocaarbos
date Wed, 21 Dec 2011 08:47:05 -0300
parents bf993f99cee3
children
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 PatrocinadorRepository : RepositoryBase<Patrocinador>, IPatrocinadorRepository
	{
		public PatrocinadorRepository(ISessionFactory sessionFactory)
			: base(sessionFactory)
		{
		}

		public void Delete(Patrocinador patrocinador)
		{
			Session.Delete(patrocinador);
		}

		public IEnumerable<Patrocinador> GetAll()
		{
			var patrocinadores = Session.QueryOver<Patrocinador>().List();
			((List<Patrocinador>)patrocinadores).Sort((first, second) => first.Nombre.CompareTo(second.Nombre));

			return patrocinadores;
		}

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

		public Patrocinador GetById(string id)
		{
			return Session.QueryOver<Patrocinador>().Where(p => p.Id == new Guid(id)).SingleOrDefault();
		}
	}
}