using System;
using System.Runtime.Serialization;
using Kreta.Framework.Localization;
using Kreta.Framework.Logging;
namespace Kreta.Framework.Entities
{
///
/// Hivatkozás lejárt entitás verziója.
///
[FriendlyName(1000029, "Az entitás verziója eltér a megadottól.")]
[ErrorCode(Events.ENTITY_EXPIREDVERSION)]
[Serializable]
public sealed class EntityExpiredException : EntityException
{
const string _errorMessage = "The referred entity version is not up-to date.";
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az entitás adatbázisbeli azonosítója
/// Az entitás verziószáma
public EntityExpiredException(string entityName, int entityId, int entitySerial)
: base(_errorMessage + " [EntityName: {EntityName}, EntityId: {EntityId}, EntitySerial: {EntitySerial}]")
{
SetValue("EntityName", entityName);
SetValue("EntityId", entityId);
SetValue("EntitySerial", entitySerial);
}
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az entitás adatbázisbeli azonosítója
/// Az entitás verziószáma
/// Az entitás hivatkozott verziószáma
public EntityExpiredException(string entityName, int entityId, int entitySerial, int requestedSerial)
: base(_errorMessage + " [EntityName: {EntityName}, EntityId: {EntityId}, EntitySerial: {EntitySerial}, RequestedSerial: {RequestedSerial}]")
{
SetValue("EntityName", entityName);
SetValue("EntityId", entityId);
SetValue("EntitySerial", entitySerial);
SetValue("RequestedSerial", requestedSerial);
}
///
/// Az osztály alapértelmezett konstruktora.
///
[Obsolete("Ezt a konstruktort ne használd!")]
public EntityExpiredException() { }
///
/// Az osztály konstruktora.
///
/// A kivétel üzenete
[Obsolete("Ezt a konstruktort ne használd!")]
public EntityExpiredException(string message)
: base(message) { }
///
/// Az osztály konstruktora.
///
/// A kivétel üzenete
/// A belső kivétel
[Obsolete("Ezt a konstruktort ne használd!")]
public EntityExpiredException(string message, Exception innerException)
: base(message, innerException) { }
///
/// Az osztály konstruktora.
///
/// Sorosítási adatok
/// Sorosítási adatfolyam
EntityExpiredException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
}