Files
Disco/Disco.Logging/Models/LogLiveEvent.cs
T
2013-02-28 17:15:46 +11:00

58 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace Disco.Logging.Models
{
public class LogLiveEvent
{
public int ModuleId { get; set; }
public string ModuleName { get; set; }
public string ModuleDescription { get; set; }
public int EventTypeId { get; set; }
public string EventTypeName { get; set; }
public int EventTypeSeverity { get; set; }
public DateTime Timestamp { get; set; }
public object[] Arguments { get; set; }
public string FormattedMessage { get; set; }
public string FormattedTimestamp { get; set; }
public bool UseDisplay { get; set; }
public static LogLiveEvent Create(LogBase logModule, Models.LogEventType eventType, DateTime Timestamp, string jsonArguments)
{
object[] Arguments = null;
if (jsonArguments != null)
{
var alArguments = fastJSON.JSON.Instance.Parse(jsonArguments) as ArrayList;
if (alArguments != null)
{
Arguments = alArguments.ToArray();
}
}
return Create(logModule, eventType, Timestamp, Arguments);
}
public static LogLiveEvent Create(LogBase logModule, Models.LogEventType eventType, DateTime Timestamp, params object[] Arguments)
{
return new Models.LogLiveEvent()
{
ModuleId = logModule.ModuleId,
ModuleName = logModule.ModuleName,
ModuleDescription = logModule.ModuleDescription,
EventTypeId = eventType.Id,
EventTypeName = eventType.Name,
EventTypeSeverity = eventType.Severity,
Timestamp = Timestamp,
Arguments = Arguments,
FormattedMessage = eventType.FormatMessage(Arguments),
FormattedTimestamp = Timestamp.ToString("dd/MM/yyy hh:mm:ss tt"),
UseDisplay = eventType.UseDisplay
};
}
}
}