comparison Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs @ 158:734d3f0853bf

Manejando configuración de los publicadores con una sección propia en los .config Agregando la opción de habilitar / deshabilitar un publicador
author nelopauselli
date Fri, 05 Aug 2011 16:55:18 -0300
parents 62791999ad01
children 5346c0500594
comparison
equal deleted inserted replaced
157:f17252543cbf 158:734d3f0853bf
1 using Agendas.NHibernate; 1 using Agendas.Blog.Impl;
2 using Agendas.NHibernate;
2 using AltNetHispano.Agendas.Domain; 3 using AltNetHispano.Agendas.Domain;
3 using AltNetHispano.Agendas.Domain.Repositories; 4 using AltNetHispano.Agendas.Domain.Repositories;
4 using AltNetHispano.Agendas.Domain.Services; 5 using AltNetHispano.Agendas.Domain.Services;
6 using AltNetHispano.Agendas.Google;
5 using AltNetHispano.Agendas.Repositories.NHibernate; 7 using AltNetHispano.Agendas.Repositories.NHibernate;
6 using AltNetHispano.Agendas.Twitter; 8 using AltNetHispano.Agendas.Twitter;
7 using NHibernate; 9 using NHibernate;
8 10
9 11
13 { 15 {
14 private static Agenda _agenda; 16 private static Agenda _agenda;
15 17
16 public static Agenda GetAgenda() 18 public static Agenda GetAgenda()
17 { 19 {
20 var publicadores =
21 new CompositePublicador(new IPublicador[] {new TwitterPublicador(), new BlogPublicador(), new GooglePublicador()});
22
18 ISessionFactory sessionFactory = NhHelper.GetSessionFactory(); 23 ISessionFactory sessionFactory = NhHelper.GetSessionFactory();
19 return _agenda ?? 24 return _agenda ??
20 (_agenda = 25 (_agenda =
21 new Agenda(new TwitterPublicador(), new EventoRepository(sessionFactory), 26 new Agenda(publicadores, new EventoRepository(sessionFactory),
22 new PersonaRepository(sessionFactory), new PatrocinadorRepository(sessionFactory))); 27 new PersonaRepository(sessionFactory), new PatrocinadorRepository(sessionFactory)));
23 } 28 }
24 29
25 public static IPersonaRepository GetPersonaRepository() 30 public static IPersonaRepository GetPersonaRepository()
26 { 31 {