Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs @ 275:bf993f99cee3
Ticket #123: Patrocinadores de las vans.
author | juanjose.montesdeocaarbos |
---|---|
date | Wed, 14 Dec 2011 08:15:44 -0300 |
parents | 72a96459f910 |
children |
line wrap: on
line source
using System; using Agendas.Blog.Impl; using Agendas.NHibernate; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Domain.Repositories; using AltNetHispano.Agendas.Domain.Services; using AltNetHispano.Agendas.Google; using AltNetHispano.Agendas.Repositories.NHibernate; using AltNetHispano.Agendas.Twitter; using NHibernate; namespace AltNetHispano.Agendas.Factories { public static class AgendaFactory { private static Agenda _agenda; public static Agenda GetAgenda() { var publicadores = new CompositePublicador(new IPublicador[] {new TwitterPublicador(), new BlogPublicador(), new GooglePublicador()}); ISessionFactory sessionFactory = NhHelper.GetSessionFactory(); return _agenda ?? (_agenda = new Agenda(publicadores, new EventoRepository(sessionFactory), new PersonaRepository(sessionFactory), new PatrocinadorRepository(sessionFactory))); } public static IPersonaRepository GetPersonaRepository() { ISessionFactory sessionFactory = NhHelper.GetSessionFactory(); return new PersonaRepository(sessionFactory); } public static IEventoRepository GetEventoRespository() { ISessionFactory sessionFactory = NhHelper.GetSessionFactory(); return new EventoRepository(sessionFactory); } public static PersonaService GetPersonaService() { return new PersonaService(GetPersonaRepository(), GetEventoRespository()); } public static IPatrocinadorRepository GetPatrocinadorRepository() { ISessionFactory sessionFactory = NhHelper.GetSessionFactory(); return new PatrocinadorRepository(sessionFactory); } } }