using System;
using System.Runtime.Serialization;
using Kreta.Framework.Localization;
using Kreta.Framework.Logging;
namespace Kreta.Framework.Entities
{
///
/// Nem létező entitásra történt hivatkozás.
///
[FriendlyName(1000024, "A hivatkozott entitás nem található.")]
[ErrorCode(Events.ENTITY_NOTFOUND)]
[Serializable]
public sealed class EntityNotFoundException : EntityException
{
const string _errorMessage = "The entity does not exist.";
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az entitás adatbázisbeli azonosítója
public EntityNotFoundException(string entityName, int entityId)
: base(_errorMessage)
{
SetValue("EntityName", entityName);
SetValue("EntityId", entityId);
}
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az asszociáció neve
/// Az asszociációs partner azonosítója
public EntityNotFoundException(string entityName, string associationName, int partnerId)
: base(_errorMessage)
{
SetValue("EntityName", entityName);
SetValue("AssociationName", associationName);
SetValue("PartnerId", partnerId);
}
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az entitás adatbázisbeli azonosítója
/// Az entitás verziószáma
public EntityNotFoundException(string entityName, int entityId, int entitySerial)
: base(_errorMessage)
{
SetValue("EntityName", entityName);
SetValue("EntityId", entityId);
SetValue("EntitySerial", entitySerial);
}
///
/// Az osztály alapértelmezett konstruktora.
///
[Obsolete("Ezt a konstruktort ne használd!")]
public EntityNotFoundException() { }
///
/// Az osztály konstruktora.
///
/// A kivétel üzenete
[Obsolete("Ezt a konstruktort ne használd!")]
public EntityNotFoundException(string message)
: base(message) { }
///
/// Az osztály konstruktora.
///
/// A kivétel üzenete
/// A belső kivétel
[Obsolete("Ezt a konstruktort ne használd!")]
public EntityNotFoundException(string message, Exception innerException)
: base(message, innerException) { }
///
/// Az osztály konstruktora.
///
/// Sorosítási adatok
/// Sorosítási adatfolyam
EntityNotFoundException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
}