view Agendas/trunk/src/Agendas.Blog/Impl/BlogPublicador.cs @ 120:c3573defd18f

Agregado de Fecha, Usuario y Successful en TrackLog Modificacion de publicador de blog para usar TrackLog Agregado de TrackLog en el test de crud de eventos Fix en publicador de twitter para que no twitee si ya se encuentra en TrackLog pero con Successful en true
author Jorge@Jorge-PC
date Fri, 24 Jun 2011 21:18:21 -0300
parents 1d820f17fc75
children 1e47bf408073 734d3f0853bf
line wrap: on
line source

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

namespace Agendas.Blog.Impl
{
	public class BlogPublicador : IPublicador
	{
		private readonly IPostWriterFactory _postWriterFactory;

		public BlogPublicador(IPostWriterFactory postWriterFactory)
		{
			_postWriterFactory = postWriterFactory;
		}

		public void Publicar(IEnumerable<Track> tracks)
		{
			foreach (var track in tracks)
			{
				if (track.Logs.Any(l => l.Propietario == TrackLogPropietario.Blog && l.Successful)) continue;

				try
				{
					_postWriterFactory.GetPostWriter(track.Accion).WritePost(track);
					track.LogAdd(new TrackLog(TrackLogPropietario.Blog, string.Empty, track.Usuario, true));
				}
				catch (Exception ex)
				{
					track.LogAdd(new TrackLog(TrackLogPropietario.Blog, ex.Message, track.Usuario, false));
				}
			}
		}
	}
}