Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/TrackLog.cs @ 182:beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
author | nelopauselli |
---|---|
date | Mon, 08 Aug 2011 21:57:10 -0300 |
parents | a6d20ea228a5 |
children |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/TrackLog.cs Mon Aug 08 20:08:31 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/TrackLog.cs Mon Aug 08 21:57:10 2011 -0300 @@ -8,29 +8,58 @@ { } - public TrackLog(TrackLogPropietario propietario, string mensaje, Persona usuario, bool successful) + private TrackLog(TrackLogPropietario propietario, Persona usuario) { Propietario = propietario; + Usuario = usuario; + Fecha = DateTime.Now; + } + + public TrackLog(TrackLogPropietario propietario, string mensaje, Persona usuario, bool successful) + : this(propietario, usuario) + { Mensaje = mensaje; - Fecha = DateTime.Now; - Usuario = usuario; - Successful = successful; + Successful = successful; + } + + public TrackLog(TrackLogPropietario propietario, Persona usuario, Exception exception) + : this(propietario, usuario) + { + while (exception.InnerException != null) + exception = exception.InnerException; + + Mensaje = exception.Message; } public virtual TrackLogPropietario Propietario { get; set; } public virtual string Mensaje { get; set; } public virtual Track Track { get; set; } - public virtual Persona Usuario { get; set; } - public virtual bool Successful { get; set; } - public virtual DateTime Fecha { get; set; } + public virtual Persona Usuario { get; set; } + public virtual bool Successful { get; set; } + public virtual DateTime Fecha { get; set; } + + public virtual string WarningMessage + { + get + { + switch (Propietario) + { + case TrackLogPropietario.Twitter: + return "No se pudo enviar los twitters: " + Mensaje; + case TrackLogPropietario.Calendario: + return "No se pudo escribir en el calendario: " + Mensaje; + case TrackLogPropietario.Blog: + return "No se pudo escribir en el blog: " + Mensaje; + } + return Mensaje; + } + } } public enum TrackLogPropietario { Twitter = 1, - Blog = 2, - Calendario = 3 + Blog = 2, + Calendario = 3 } - - } \ No newline at end of file