annotate 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
rev   line source
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 138
diff changeset
1 using Agendas.Blog.Impl;
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 138
diff changeset
2 using Agendas.NHibernate;
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
3 using AltNetHispano.Agendas.Domain;
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
4 using AltNetHispano.Agendas.Domain.Repositories;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
5 using AltNetHispano.Agendas.Domain.Services;
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 138
diff changeset
6 using AltNetHispano.Agendas.Google;
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
7 using AltNetHispano.Agendas.Repositories.NHibernate;
110
a456eb519e23 Lanzando twitts desde el sitio con la cuenta de AltNetHispanoDESA
Nelo@Kenia.neluz.int
parents: 94
diff changeset
8 using AltNetHispano.Agendas.Twitter;
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
9 using NHibernate;
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
10
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents:
diff changeset
11
34
475be11edf56 Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents: 24
diff changeset
12 namespace AltNetHispano.Agendas.Factories
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents:
diff changeset
13 {
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
14 public static class AgendaFactory
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
15 {
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
16 private static Agenda _agenda;
19
74eb4577d447 HttpContext identity provider
nelo@MTEySS.neluz.int
parents: 15
diff changeset
17
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
18 public static Agenda GetAgenda()
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
19 {
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 138
diff changeset
20 var publicadores =
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 138
diff changeset
21 new CompositePublicador(new IPublicador[] {new TwitterPublicador(), new BlogPublicador(), new GooglePublicador()});
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 138
diff changeset
22
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
23 ISessionFactory sessionFactory = NhHelper.GetSessionFactory();
110
a456eb519e23 Lanzando twitts desde el sitio con la cuenta de AltNetHispanoDESA
Nelo@Kenia.neluz.int
parents: 94
diff changeset
24 return _agenda ??
a456eb519e23 Lanzando twitts desde el sitio con la cuenta de AltNetHispanoDESA
Nelo@Kenia.neluz.int
parents: 94
diff changeset
25 (_agenda =
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 138
diff changeset
26 new Agenda(publicadores, new EventoRepository(sessionFactory),
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 110
diff changeset
27 new PersonaRepository(sessionFactory), new PatrocinadorRepository(sessionFactory)));
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
28 }
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
29
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
30 public static IPersonaRepository GetPersonaRepository()
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
31 {
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
32 ISessionFactory sessionFactory = NhHelper.GetSessionFactory();
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
33 return new PersonaRepository(sessionFactory);
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
34 }
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
35
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
36 public static PersonaService GetPersonaService()
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
37 {
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
38 return new PersonaService(GetPersonaRepository());
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
39 }
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents: 50
diff changeset
40 }
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents:
diff changeset
41 }