252 lines
7.7 KiB
C#
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
|
|
}
|
|
}
|
|
|