view Agendas/trunk/src/Agendas.Blog/Impl/PostWriter.cs @ 234:cc71f96ac134

Combinar
author juanjose.montesdeocaarbos
date Tue, 04 Oct 2011 20:36:27 -0300
parents 1d820f17fc75
children
line wrap: on
line source

using System.Linq;
using AltNetHispano.Agendas.Domain;

namespace Agendas.Blog.Impl
{
  public abstract class PostWriter : IPostWriter
  {
    private readonly IPostWriterWebService _postWriterWebService;

    protected PostWriter(IPostWriterWebService postWriterWebService)
    {
      _postWriterWebService = postWriterWebService;
    }

    public virtual void WritePost(Track track)
    {
      var title = GetTitle(track);
      var body = GetBody(track);
      this.ExecuteService(title, body, this.GetNombreUsuario(track));
    }

    protected abstract string GetBody(Track track);

    protected abstract string GetTitle(Track track);

    protected string GetNombreUsuario(Track track)
    {
      return track.Usuario.Nombre;
    }

    protected void ExecuteService(string title, string body, string author)
    {
      _postWriterWebService.WriteBlogPost(title, body, author, true);
    }


  }
}