using System;
using System.Runtime.Serialization;
using Kreta.Framework.Localization;
using Kreta.Framework.Logging;
namespace Kreta.Framework
{
///
/// Munkamenet-hibákkal kapcsolatos okok
///
public enum SessionReason
{
///
/// A munkamenet nem létezik
///
NOT_EXISTS,
///
/// A munkamenet már létezik
///
EXISTS
}
///
/// Érvénytelen munkamenet azonosító.
///
[FriendlyName(1000043, "Érvénytelen vagy lejárt munkamenet.")]
[ErrorCode(Events.FRAMEWORK_SESSION_INVALID)]
[Serializable]
public sealed class InvalidSessionException : FrameworkException
{
///
/// Az osztály konstruktora.
///
/// A munkamenet azonosítója
/// A kivétel oka
public InvalidSessionException(string sessionid, SessionReason reason)
: base("Érvénytelen vagy lejárt munkamenet.", null)
{
Data.Add(LogParameter.REASON, reason);
Data.Add(LogParameter.SESSIONID, sessionid);
}
///
/// Az osztály konstruktora.
///
/// Sorosítási adatok
/// Sorosítási adatfolyam
InvalidSessionException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
}