using System;
using System.Collections;
namespace Kreta.Framework.Logging
{
///
/// Az interfész alapértelmezett implementációja
///
public class LogMessage : ILogMessage
{
private string m_LogEntryId;
private Events m_EventType = 0;
private string m_SessionId = "";
private LogLevel m_Level;
private Hashtable m_Parameters = new Hashtable();
private string m_UserId;
private bool m_IsLogged;
int? intezmenyid; // TODO: kezelni értelmesen
int? tanevid; // TODO: kezelni értelmesen
///
/// Az osztály alapértelmezett konstruktora.
///
public LogMessage()
: this(Guid.NewGuid().ToString())
{
}
///
/// Az osztály konstruktora.
///
/// A bejegyzés azonosítója
internal LogMessage(string logEntryId)
{
if (string.IsNullOrWhiteSpace(logEntryId))
{
logEntryId = Guid.NewGuid().ToString();
}
m_LogEntryId = logEntryId;
}
///
///
///
public string LogEntryId
{
get
{
return this.m_LogEntryId;
}
}
///
///
///
public Events EventType
{
get
{
return this.m_EventType;
}
set
{
this.m_EventType = value;
}
}
///
///
///
public LogLevel Level
{
get
{
return this.m_Level;
}
set
{
this.m_Level = value;
}
}
///
///
///
public string SessionId
{
get
{
return this.m_SessionId;
}
set
{
this.m_SessionId = value;
}
}
///
/// A felhasználó azonosítója.
///
public string UserId
{
get
{
return m_UserId;
}
set
{
m_UserId = value;
}
}
///
/// A bejegyzés naplóba lett-e már írva, vagy sem.
///
public bool IsLogged
{
get
{
return m_IsLogged;
}
set
{
m_IsLogged = value;
}
}
///
/// Az üzenet paraméterei.
///
public IDictionary Parameters
{
get
{
return m_Parameters;
}
}
public int? IntezmenyId
{
get
{
return intezmenyid;
}
set
{
this.intezmenyid = value;
}
}
public int? TanevId
{
get
{
return tanevid;
}
set
{
this.tanevid = value;
}
}
///
/// Beállítja egy paraméter értékét.
///
/// A paraméter típusa
/// A paraméter értéke
public void SetParameter(LogParameter parameterName, object value)
{
this.m_Parameters[parameterName] = value;
}
///
/// Lásd .
///
/// Lásd
public IEnumerator GetEnumerator()
{
return m_Parameters.GetEnumerator();
}
}
}