222 lines
6.9 KiB
C#
222 lines
6.9 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 LogLevelType 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("LogLevelType")]
|
|
// alapértelmezett EntityHistoryMode
|
|
public class LogLevelType : Entity, ILogLevelType
|
|
{
|
|
internal protected LogLevelType()
|
|
: base()
|
|
{
|
|
}
|
|
|
|
public class AttributeInfo
|
|
{
|
|
public const string DisplayName = "DisplayName";
|
|
}
|
|
|
|
public class AttributeLengthInfo
|
|
{
|
|
public const int DisplayNameLength = 200;
|
|
}
|
|
|
|
#region General
|
|
private LogLevelTypeDA m_DA = new LogLevelTypeDA();
|
|
|
|
protected static LogLevelType FakeLogLevelType { get; set; }
|
|
|
|
public static LogLevelType GiveAnInstance()
|
|
{
|
|
LogLevelType result = FakeLogLevelType == null
|
|
? new LogLevelType()
|
|
: (LogLevelType)FakeLogLevelType.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<LogLevelType> 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<LogLevelType> 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<LogLevelType> LoadWithFilter(string filter, Dictionary<string, object> commandParameters = null)
|
|
{
|
|
var result = new EntityCollection<LogLevelType>();
|
|
new LogLevelTypeDA().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<LogLevelType> LoadWithFilter(string filter, ColumnFilterMode columnFilterMode, IEnumerable<string> columns, Dictionary<string, object> commandParameters = null)
|
|
{
|
|
var result = new EntityCollection<LogLevelType>();
|
|
new LogLevelTypeDA().LoadWithFilter(result, filter, columnFilterMode, columns, commandParameters);
|
|
return result;
|
|
}
|
|
|
|
protected override void StoreOriginalValues()
|
|
{
|
|
base.StoreOriginalValues();
|
|
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("LogLevelType", "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_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("LogLevelType", "Log", EntityUtil.GetAssociationDescription("T_LOG_OSSZES", "C_LEVELID")); // nincs kapcsolotabla
|
|
}
|
|
// kaszkád törlések...
|
|
|
|
}
|
|
|
|
#region Mezők és tulajdonságok
|
|
|
|
#region Egyszerű mezők
|
|
|
|
#region DisplayName
|
|
|
|
protected internal string m_DisplayName;
|
|
|
|
/// <summary>
|
|
/// lovleveltype
|
|
/// </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 LogLevelType (1) -> Log (*)
|
|
protected IAssociatedEntityCollection<Log> m_Log = null;
|
|
|
|
IReadOnlyList<ILog> ILogLevelType.Log => Log.Cast<ILog>().ToList();
|
|
|
|
/// <summary>
|
|
/// szint t?pus
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Az UML modellben szereplő LogLevelType és Log entitások közötti asszociáció megvalósítása.
|
|
/// </remarks>
|
|
[EntityProperty("Log", EntityPropertyBaseType.EntityCollection, typeof(IAssociatedEntityCollection<Log>), EntityCopyMethod.DeepCopy, "LevelId")]
|
|
public virtual IAssociatedEntityCollection<Log> Log
|
|
{
|
|
get
|
|
{
|
|
if (m_Log == null)
|
|
{
|
|
m_Log = new AssociatedEntityCollection<LogLevelType, Log>(
|
|
new LogLevelType_Log_DA(this)
|
|
);
|
|
m_Log.Load();
|
|
}
|
|
return m_Log;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|