annotate Agendas/trunk/src/Agendas.Blog/Impl/BlogPublicador.cs @ 299:8522d6a25888

Domain, Patrocinador: Eliminando referencias.
author juanjose.montesdeocaarbos
date Mon, 27 Feb 2012 13:14:57 -0300
parents 2a336a6a76b5
children
rev   line source
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
1 using System;
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
2 using System.Collections.Generic;
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
3 using System.Linq;
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
4 using AltNetHispano.Agendas.Configurations;
87
26d0513a8410 A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents: 65
diff changeset
5 using AltNetHispano.Agendas.Domain;
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
6
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
7 namespace Agendas.Blog.Impl
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
8 {
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
9 public class BlogPublicador : IPublicador
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
10 {
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
11 private readonly IPostWriterFactory _postWriterFactory;
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
12
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
13 public BlogPublicador()
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
14 : this(
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
15 new PostWriterFactory(
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
16 new PostWriterWebServiceAdapter(
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
17 new BlogPublicadorConfig(AgendasConfigurationManager.Publicadores.Blog.Writer.PostWriterServiceUrl,
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
18 AgendasConfigurationManager.Publicadores.Blog.Writer.BlogName,
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
19 AgendasConfigurationManager.Publicadores.Blog.Writer.BlogWriterMasterKey))))
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
20 {
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
21 }
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
22
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
23 public BlogPublicador(IPostWriterFactory postWriterFactory)
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
24 {
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
25 _postWriterFactory = postWriterFactory;
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
26 }
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
27
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
28 public void Publicar(IEnumerable<Track> tracks)
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
29 {
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
30 if (!AgendasConfigurationManager.Publicadores.Blog.Enabled) return;
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
31
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
32 foreach (var track in tracks)
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
33 {
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
34 if (track.Logs.Any(l => l.Propietario == TrackLogPropietario.Blog && l.Successful)) continue;
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
35
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
36 try
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
37 {
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
38 _postWriterFactory.GetPostWriter(track.Accion).WritePost(track);
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
39 track.LogAdd(new TrackLog(TrackLogPropietario.Blog, string.Empty, track.Usuario, true));
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
40 }
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
41 catch (Exception ex)
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
42 {
184
2a336a6a76b5 Agregando log al track cuando fallan los publicadores
nelopauselli
parents: 158
diff changeset
43 track.LogAdd(new TrackLog(TrackLogPropietario.Blog, track.Usuario, ex));
120
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
44 }
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
45 }
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
46 }
c3573defd18f Agregado de Fecha, Usuario y Successful en TrackLog
Jorge@Jorge-PC
parents: 105
diff changeset
47 }
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 120
diff changeset
48 }