Mercurial > altnet-hispano
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 } |