annotate Agendas/trunk/src/Agendas.Blog/Impl/PostWriter.cs @ 99:3027c64344bd

agregado de llamadas a web service para crear posts en el blog de la comunidad agregado de tests sobre el publicador de blogs agregado de tests sobre el adapter del web service
author jorge.rowies
date Sat, 04 Jun 2011 22:33:05 -0300
parents bc46e7426c80
children cc91817a4206
rev   line source
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
1 using System.Linq;
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
2 using AltNetHispano.Agendas.Domain;
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
3
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
4 namespace Agendas.Blog.Impl
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
5 {
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
6 public abstract class PostWriter : IPostWriter
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
7 {
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
8 private readonly IPostWriterWebService _postWriterWebService;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
9
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
10 protected PostWriter(IPostWriterWebService postWriterWebService)
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
11 {
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
12 _postWriterWebService = postWriterWebService;
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
13 }
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
14
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
15 public virtual void WritePost(Evento evento)
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
16 {
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
17 var title = GetTitle(evento);
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
18 var body = GetBody(evento);
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
19 this.ExecuteService(title, body, this.GetNombreUsuario(evento));
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
20 }
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
21
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
22 protected abstract string GetBody(Evento evento);
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
23
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
24 protected abstract string GetTitle(Evento evento);
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
25
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
26 protected string GetNombreUsuario(Evento evento)
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
27 {
74
bc46e7426c80 Refactoring de acciones según la definición del diagrama de estados en assembla
nelopauselli
parents: 70
diff changeset
28 return evento.Tracks.Single(t => t.Accion == Accion.Publicar).Usuario;
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
29 }
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
30
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
31 protected void ExecuteService(string title, string body, string author)
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
32 {
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
33 _postWriterWebService.WriteBlogPost(title, body, author, true);
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
34 }
99
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
35
3027c64344bd agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents: 74
diff changeset
36
65
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
37 }
ebce59b45b50 Agregado de version inicial del publicador para el blog
ROWIES@ardejorxp.inworx.corp
parents:
diff changeset
38 }