using System;
using System.Runtime.Serialization;
using Kreta.Framework.Localization;
using Kreta.Framework.Logging;
namespace Kreta.Framework.Entities
{
///
/// Érvénytelen entitás attribútumot jelző kivétel.
///
[FriendlyName(1000027, "Az entitás érvénytelen attribútummal rendelkezik: a(z) {AttributeName} {Error}.")]
[ErrorCode(Events.ENTITY_INVALIDDATA)]
[Serializable]
public sealed class InvalidEntityAttributeException : EntityException
{
const string _errorMessage = "The entity has invalid attribute: {AttributeName} {Error}.";
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az attribútum neve
public InvalidEntityAttributeException(string entityName, string attributeName)
: this(entityName, attributeName, EntityAttributeError.Unknown) { }
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az attribútum neve
/// A hiba típusa
public InvalidEntityAttributeException(string entityName, string attributeName, EntityAttributeError error)
: this(entityName, attributeName, error, null) { }
///
/// Az osztály konstruktora.
///
/// Az entitás neve
/// Az attribútum neve
/// A hiba típusa
/// Az előző kivétel
public InvalidEntityAttributeException(string entityName, string attributeName, EntityAttributeError error, Exception innerException)
: base(_errorMessage, innerException)
{
SetValue("EntityName", entityName);
SetValue("AttributeName", attributeName);
SetValue("Error", error);
}
///
/// Az osztály alapértelmezett konstruktora.
///
[Obsolete("Ezt a konstruktort ne használd!")]
public InvalidEntityAttributeException() { }
///
/// Az osztály konstruktora.
///
/// A kivétel üzenete
[Obsolete("Ezt a konstruktort ne használd!")]
public InvalidEntityAttributeException(string message)
: base(message) { }
///
/// Az osztály konstruktora.
///
/// A kivétel üzenete
/// A belső kivétel
[Obsolete("Ezt a konstruktort ne használd!")]
public InvalidEntityAttributeException(string message, Exception innerException)
: base(message, innerException) { }
///
/// Az osztály konstruktora.
///
/// Sorosítási adatok
/// Sorosítási adatfolyam
InvalidEntityAttributeException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
}