using System; using System.Runtime.Serialization; using Kreta.Framework.Localization; using Kreta.Framework.Logging; namespace Kreta.Framework.Entities { /// <summary> /// Hivatkozás lejárt entitás verziója. /// </summary> [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."; /// <summary> /// Az osztály konstruktora. /// </summary> /// <param name="entityName">Az entitás neve</param> /// <param name="entityId">Az entitás adatbázisbeli azonosítója</param> /// <param name="entitySerial">Az entitás verziószáma</param> 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); } /// <summary> /// Az osztály konstruktora. /// </summary> /// <param name="entityName">Az entitás neve</param> /// <param name="entityId">Az entitás adatbázisbeli azonosítója</param> /// <param name="entitySerial">Az entitás verziószáma</param> /// <param name="requestedSerial">Az entitás hivatkozott verziószáma</param> 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); } /// <summary> /// Az osztály alapértelmezett konstruktora. /// </summary> [Obsolete("Ezt a konstruktort ne használd!")] public EntityExpiredException() { } /// <summary> /// Az osztály konstruktora. /// </summary> /// <param name="message">A kivétel üzenete</param> [Obsolete("Ezt a konstruktort ne használd!")] public EntityExpiredException(string message) : base(message) { } /// <summary> /// Az osztály konstruktora. /// </summary> /// <param name="message">A kivétel üzenete</param> /// <param name="innerException">A belső kivétel</param> [Obsolete("Ezt a konstruktort ne használd!")] public EntityExpiredException(string message, Exception innerException) : base(message, innerException) { } /// <summary> /// Az osztály konstruktora. /// </summary> /// <param name="info">Sorosítási adatok</param> /// <param name="context">Sorosítási adatfolyam</param> EntityExpiredException(SerializationInfo info, StreamingContext context) : base(info, context) { } } }