kreta/Kreta.DataAccessGenerated/Entities/LogEventType.cs
2024-03-13 00:33:46 +01:00

252 lines
7.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Kreta.DataAccess.Interfaces;
using Kreta.Framework;
using Kreta.Framework.Actions;
using Kreta.Framework.Collections;
using Kreta.Framework.Collections.Generic;
using Kreta.Framework.Entities;
using Kreta.Framework.Entities.Generic;
using Kreta.Framework.Exceptions;
namespace SDA.Kreta.Entities
{
/// <summary>
/// Az UML modell LogEventType entitásának megvalósítása.
/// </summary>
/// <remarks>A kód teljes egészében generált, kézi módosítása nem megengedett!</remarks>
[Entity("LogEventType")]
// alapértelmezett EntityHistoryMode
public class LogEventType : Entity, ILogEventType
{
internal protected LogEventType()
: base()
{
}
public class AttributeInfo
{
public const string Deletable = "Deletable";
public const string DisplayName = "DisplayName";
}
public class AttributeLengthInfo
{
public const int DisplayNameLength = 200;
}
#region General
private LogEventTypeDA m_DA = new LogEventTypeDA();
protected static LogEventType FakeLogEventType { get; set; }
public static LogEventType GiveAnInstance()
{
LogEventType result = FakeLogEventType == null
? new LogEventType()
: (LogEventType)FakeLogEventType.MemberwiseClone();
result.Reset();
result.SetDefaultData();
return result;
}
protected void SetDefaultData()
{
}
protected override IEntityDataAccessor GetDataAccessor() { return m_DA; }
protected internal virtual IEntityDataAccessor InheritedDA { get { return null; } }
[Obsolete("Ezt ne használjátok, mert mindenhova bele kellene fogalmazni a tanév szűrést is! Meg fog majd szűnni!")]
public static IEntityCollection<LogEventType> LoadAll()
{
return LoadWithFilter("");
}
[Obsolete("Ezt ne használjátok, mert mindenhova bele kellene fogalmazni a tanév szűrést is! Meg fog majd szűnni!")]
public static IEntityCollection<LogEventType> LoadAll(ColumnFilterMode columnFilterMode, IEnumerable<string> columns)
{
return LoadWithFilter("", columnFilterMode, columns);
}
[Obsolete("Ezt ne használjátok, mert mindenhova bele kellene fogalmazni a tanév szűrést is! Meg fog majd szűnni!")]
public static IEntityCollection<LogEventType> LoadWithFilter(string filter, Dictionary<string, object> commandParameters = null)
{
var result = new EntityCollection<LogEventType>();
new LogEventTypeDA().LoadWithFilter(result, filter, commandParameters);
return result;
}
[Obsolete("Ezt ne használjátok, mert mindenhova bele kellene fogalmazni a tanév szűrést is! Meg fog majd szűnni!")]
public static IEntityCollection<LogEventType> LoadWithFilter(string filter, ColumnFilterMode columnFilterMode, IEnumerable<string> columns, Dictionary<string, object> commandParameters = null)
{
var result = new EntityCollection<LogEventType>();
new LogEventTypeDA().LoadWithFilter(result, filter, columnFilterMode, columns, commandParameters);
return result;
}
protected override void StoreOriginalValues()
{
base.StoreOriginalValues();
OriginalValues.Add("Deletable", (Deletable == null ? (object)DBNull.Value : (object)m_Deletable));
OriginalValues.Add("DisplayName", (DisplayName == null ? (object)DBNull.Value : (object)m_DisplayName));
}
#endregion
#region Ellenőrzés
protected override void Validate(bool skipValidateAttributes = false)
{
base.Validate();
if (!skipValidateAttributes)
{
// korlátos hosszúságú mezők ellenőrzése...
if (m_DisplayName != null && m_DisplayName.Length > 200)
{
throw new InvalidEntityAttributeException("LogEventType", "DisplayName", EntityAttributeError.TooLong);
}
}
// kötelező asszociációk ellenőrzése...
}
#endregion
#region Alaphelyzetbe állítás
protected override void Reset()
{
base.Reset();
// alaphelyzetbe állítjuk az egyszerű mezőket
this.m_Deletable = null;
this.m_DisplayName = null;
// alaphelyzetbe állítjuk az asszociációkból származó mezőket
this.m_Log = null; // EntityCollection
}
#endregion
protected override void DeAssociateBeforeDelete(bool runHandler = false)
{
// Nem kaszkád törölhető asszociációk ellenőrzése, hogy üresek-e...
if (this.Log.Count > 0)
{
throw new EntityDeleteFailedException("LogEventType", "Log", EntityUtil.GetAssociationDescription("T_LOG_OSSZES", "C_EVENTTYPEID")); // nincs kapcsolotabla
}
// kaszkád törlések...
}
#region Mezők és tulajdonságok
#region Egyszerű mezők
#region Deletable
protected internal bool? m_Deletable;
/// <summary>
/// mezo
/// </summary>
[EntityProperty("Deletable", EntityPropertyBaseType.ValueType, typeof(bool), EntityCopyMethod.ShallowCopy)]
public virtual bool? Deletable
{
get
{
return m_Deletable;
}
set
{
CheckModifyable();
if (m_Deletable == value) return;
m_Deletable = value;
FieldModified("Deletable", value);
}
}
#endregion
#region DisplayName
protected internal string m_DisplayName;
/// <summary>
/// logeventtype
/// </summary>
[EntityProperty("DisplayName", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)]
public virtual string DisplayName
{
get
{
return m_DisplayName;
}
set
{
CheckModifyable();
if (m_DisplayName == value) return;
m_DisplayName = value;
FieldModified("DisplayName", value);
}
}
#endregion
#endregion
#region Asszociációkkal kapcsolatos dolgok
protected internal virtual bool LoadByLogId(int id)
{
return m_DA.LoadByLogId(id, this);
}
#region LogEventType (1) -> Log (*)
protected IAssociatedEntityCollection<Log> m_Log = null;
IReadOnlyList<ILog> ILogEventType.Log => Log.Cast<ILog>().ToList();
/// <summary>
/// log eventtype
/// </summary>
/// <remarks>
/// Az UML modellben szereplő LogEventType és Log entitások közötti asszociáció megvalósítása.
/// </remarks>
[EntityProperty("Log", EntityPropertyBaseType.EntityCollection, typeof(IAssociatedEntityCollection<Log>), EntityCopyMethod.DeepCopy, "EventTypeId")]
public virtual IAssociatedEntityCollection<Log> Log
{
get
{
if (m_Log == null)
{
m_Log = new AssociatedEntityCollection<LogEventType, Log>(
new LogEventType_Log_DA(this)
);
m_Log.Load();
}
return m_Log;
}
}
#endregion
#endregion
#endregion
}
}