comparison 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
comparison
equal deleted inserted replaced
181:6ee05ceea8c3 182:beeb48ddb44a
6 { 6 {
7 protected TrackLog() 7 protected TrackLog()
8 { 8 {
9 } 9 }
10 10
11 public TrackLog(TrackLogPropietario propietario, string mensaje, Persona usuario, bool successful) 11 private TrackLog(TrackLogPropietario propietario, Persona usuario)
12 { 12 {
13 Propietario = propietario; 13 Propietario = propietario;
14 Usuario = usuario;
15 Fecha = DateTime.Now;
16 }
17
18 public TrackLog(TrackLogPropietario propietario, string mensaje, Persona usuario, bool successful)
19 : this(propietario, usuario)
20 {
14 Mensaje = mensaje; 21 Mensaje = mensaje;
15 Fecha = DateTime.Now; 22 Successful = successful;
16 Usuario = usuario; 23 }
17 Successful = successful; 24
25 public TrackLog(TrackLogPropietario propietario, Persona usuario, Exception exception)
26 : this(propietario, usuario)
27 {
28 while (exception.InnerException != null)
29 exception = exception.InnerException;
30
31 Mensaje = exception.Message;
18 } 32 }
19 33
20 public virtual TrackLogPropietario Propietario { get; set; } 34 public virtual TrackLogPropietario Propietario { get; set; }
21 public virtual string Mensaje { get; set; } 35 public virtual string Mensaje { get; set; }
22 public virtual Track Track { get; set; } 36 public virtual Track Track { get; set; }
23 public virtual Persona Usuario { get; set; } 37 public virtual Persona Usuario { get; set; }
24 public virtual bool Successful { get; set; } 38 public virtual bool Successful { get; set; }
25 public virtual DateTime Fecha { get; set; } 39 public virtual DateTime Fecha { get; set; }
40
41 public virtual string WarningMessage
42 {
43 get
44 {
45 switch (Propietario)
46 {
47 case TrackLogPropietario.Twitter:
48 return "No se pudo enviar los twitters: " + Mensaje;
49 case TrackLogPropietario.Calendario:
50 return "No se pudo escribir en el calendario: " + Mensaje;
51 case TrackLogPropietario.Blog:
52 return "No se pudo escribir en el blog: " + Mensaje;
53 }
54 return Mensaje;
55 }
56 }
26 } 57 }
27 58
28 public enum TrackLogPropietario 59 public enum TrackLogPropietario
29 { 60 {
30 Twitter = 1, 61 Twitter = 1,
31 Blog = 2, 62 Blog = 2,
32 Calendario = 3 63 Calendario = 3
33 } 64 }
34
35
36 } 65 }