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
{
///
/// Az UML modell AMITTFSablon entitásának megvalósítása.
///
/// A kód teljes egészében generált, kézi módosítása nem megengedett!
[Entity("AMITTFSablon")]
// alapértelmezett EntityHistoryMode
public class AMITTFSablon : Entity, IAMITTFSablon
{
internal protected AMITTFSablon()
: base()
{
}
public class AttributeInfo
{
public const string AMIFotargyId = "AMIFotargyId";
public const string AMITagozatId = "AMITagozatId";
public const string AMITantargyKotelezosegId = "AMITantargyKotelezosegId";
public const string EvfolyamTipusId = "EvfolyamTipusId";
public const string Idotartam = "Idotartam";
public const string IsCsoportos = "IsCsoportos";
public const string OktatasiNevelesiFeladatId = "OktatasiNevelesiFeladatId";
public const string TanevSorszam = "TanevSorszam";
}
public class AttributeLengthInfo
{
}
#region General
private AMITTFSablonDA m_DA = new AMITTFSablonDA();
protected static AMITTFSablon FakeAMITTFSablon { get; set; }
public static AMITTFSablon GiveAnInstance()
{
AMITTFSablon result = FakeAMITTFSablon == null
? new AMITTFSablon()
: (AMITTFSablon)FakeAMITTFSablon.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 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 LoadAll(ColumnFilterMode columnFilterMode, IEnumerable 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 LoadWithFilter(string filter, Dictionary commandParameters = null)
{
var result = new EntityCollection();
new AMITTFSablonDA().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 LoadWithFilter(string filter, ColumnFilterMode columnFilterMode, IEnumerable columns, Dictionary commandParameters = null)
{
var result = new EntityCollection();
new AMITTFSablonDA().LoadWithFilter(result, filter, columnFilterMode, columns, commandParameters);
return result;
}
protected override void StoreOriginalValues()
{
base.StoreOriginalValues();
OriginalValues.Add("AMIFotargyId", (AMIFotargyId == null ? (object)DBNull.Value : (object)m_AMIFotargyId));
OriginalValues.Add("AMITagozatId", (AMITagozatId == null ? (object)DBNull.Value : (object)m_AMITagozatId));
OriginalValues.Add("AMITantargyKotelezosegId", (AMITantargyKotelezosegId == null ? (object)DBNull.Value : (object)m_AMITantargyKotelezosegId));
OriginalValues.Add("EvfolyamTipusId", (EvfolyamTipusId == null ? (object)DBNull.Value : (object)m_EvfolyamTipusId));
OriginalValues.Add("Idotartam", (Idotartam == null ? (object)DBNull.Value : (object)m_Idotartam));
OriginalValues.Add("IsCsoportos", (object)m_IsCsoportos);
OriginalValues.Add("OktatasiNevelesiFeladatId", (OktatasiNevelesiFeladatId == null ? (object)DBNull.Value : (object)m_OktatasiNevelesiFeladatId));
OriginalValues.Add("TanevSorszam", (TanevSorszam == null ? (object)DBNull.Value : (object)m_TanevSorszam));
OriginalValues.Add("AMITantargySablonId", (m_AMITantargySablonId < 0 ? (object)DBNull.Value : (object)m_AMITantargySablonId));
}
#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...
}
// kötelező asszociációk ellenőrzése...
if (m_AMITantargySablonId == -1) { throw new InvalidEntityAttributeException("AMITTFSablon", "AMITantargySablonId", EntityAttributeError.Empty); }
}
#endregion
#region Alaphelyzetbe állítás
protected override void Reset()
{
base.Reset();
// alaphelyzetbe állítjuk az egyszerű mezőket
this.m_AMIFotargyId = null;
this.m_AMITagozatId = null;
this.m_AMITantargyKotelezosegId = null;
this.m_EvfolyamTipusId = null;
this.m_Idotartam = null;
this.m_IsCsoportos = false;
this.m_OktatasiNevelesiFeladatId = null;
this.m_TanevSorszam = null;
// alaphelyzetbe állítjuk az asszociációkból származó mezőket
this.m_AMITantargySablonId = -1;
this.m_AMITantargySablon = null; // Entity
this.m_AMIAltargy = null; // EntityCollection
this.m_AMIFotargy = 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...
// AMITantargySablon esetében mi mutatunk a másikra: startrole: 1..*, endrole: 1
if (this.AMIAltargy.Count > 0)
{
throw new EntityDeleteFailedException("AMITTFSablon", "AMIAltargy", EntityUtil.GetAssociationDescription("T_AMITTFSABLON_OSSZES", "ID")); // *-* + kapcsolotabla
}
if (this.AMIFotargy.Count > 0)
{
throw new EntityDeleteFailedException("AMITTFSablon", "AMIFotargy", EntityUtil.GetAssociationDescription("T_AMITTFSABLON_OSSZES", "ID")); // *-* + kapcsolotabla
}
// kaszkád törlések...
}
#region Mezők és tulajdonságok
#region Egyszerű mezők
#region AMIFotargyId
protected internal int? m_AMIFotargyId;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("AMIFotargyId", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)]
public virtual int? AMIFotargyId
{
get
{
return m_AMIFotargyId;
}
set
{
CheckModifyable();
if (m_AMIFotargyId == value) return;
m_AMIFotargyId = value;
FieldModified("AMIFotargyId", value);
}
}
#endregion
#region AMITagozatId
protected internal int? m_AMITagozatId;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("AMITagozatId", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)]
public virtual int? AMITagozatId
{
get
{
return m_AMITagozatId;
}
set
{
CheckModifyable();
if (m_AMITagozatId == value) return;
m_AMITagozatId = value;
FieldModified("AMITagozatId", value);
}
}
#endregion
#region AMITantargyKotelezosegId
protected internal int? m_AMITantargyKotelezosegId;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("AMITantargyKotelezosegId", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)]
public virtual int? AMITantargyKotelezosegId
{
get
{
return m_AMITantargyKotelezosegId;
}
set
{
CheckModifyable();
if (m_AMITantargyKotelezosegId == value) return;
m_AMITantargyKotelezosegId = value;
FieldModified("AMITantargyKotelezosegId", value);
}
}
#endregion
#region EvfolyamTipusId
protected internal int? m_EvfolyamTipusId;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("EvfolyamTipusId", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)]
public virtual int? EvfolyamTipusId
{
get
{
return m_EvfolyamTipusId;
}
set
{
CheckModifyable();
if (m_EvfolyamTipusId == value) return;
m_EvfolyamTipusId = value;
FieldModified("EvfolyamTipusId", value);
}
}
#endregion
#region Idotartam
protected internal int? m_Idotartam;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("Idotartam", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)]
public virtual int? Idotartam
{
get
{
return m_Idotartam;
}
set
{
CheckModifyable();
if (m_Idotartam == value) return;
m_Idotartam = value;
FieldModified("Idotartam", value);
}
}
#endregion
#region IsCsoportos
protected internal bool m_IsCsoportos;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("IsCsoportos", EntityPropertyBaseType.ValueType, typeof(bool), EntityCopyMethod.ShallowCopy)]
public virtual bool IsCsoportos
{
get
{
return m_IsCsoportos;
}
set
{
CheckModifyable();
if (m_IsCsoportos == value) return;
m_IsCsoportos = value;
FieldModified("IsCsoportos", value);
}
}
#endregion
#region OktatasiNevelesiFeladatId
protected internal int? m_OktatasiNevelesiFeladatId;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("OktatasiNevelesiFeladatId", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)]
public virtual int? OktatasiNevelesiFeladatId
{
get
{
return m_OktatasiNevelesiFeladatId;
}
set
{
CheckModifyable();
if (m_OktatasiNevelesiFeladatId == value) return;
m_OktatasiNevelesiFeladatId = value;
FieldModified("OktatasiNevelesiFeladatId", value);
}
}
#endregion
#region TanevSorszam
protected internal int? m_TanevSorszam;
///
/// Nincs definiálva megjegyzés.
///
[EntityProperty("TanevSorszam", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)]
public virtual int? TanevSorszam
{
get
{
return m_TanevSorszam;
}
set
{
CheckModifyable();
if (m_TanevSorszam == value) return;
m_TanevSorszam = value;
FieldModified("TanevSorszam", value);
}
}
#endregion
#endregion
#region Asszociációkkal kapcsolatos dolgok
#region AMITTFSablon (1..*) -> AMITantargySablon (1)
protected internal int m_AMITantargySablonId = -1;
///
/// A(z) AMITantargySablon asszociáció végpontjának ID-ja.
///
///
/// - Insert() előtt célszerű kitölteni
/// - Update() nincs rá hatással: ezt a mezőt nem frissíti
/// - LoadByID() felhozza ezt a mezőt
///
public virtual int AMITantargySablonId
{
get
{
return InternalAMITantargySablonId;
}
set
{
InternalAMITantargySablonId = value;
}
}
///
/// Ez egy külön bejárat a DA számára
///
internal int InternalAMITantargySablonId
{
get
{
if (m_AMITantargySablon != null)
{
return m_AMITantargySablon.ID;
}
else
{
return m_AMITantargySablonId;// XXX az meg nem teljesen OK
}
}
set
{
CheckModifyable();
if (m_AMITantargySablonId != value)
{
m_AMITantargySablonId = value;
m_AMITantargySablon = null;
FieldModified("AMITantargySablonId", value);
}
}
}
///
/// Ez egy külön bejárat a DA számára
///
internal void ModifyAMITantargySablon(AMITantargySablon value)
{
m_AMITantargySablonId = value != null ? value.ID : -1;
m_AMITantargySablon = value;
FieldModified("AMITantargySablonId", value != null ? (object)value.ID : DBNull.Value);
}
protected internal void SetAMITantargySablon(AMITantargySablon value)
{
m_AMITantargySablon = value;
if (value != null)
{
m_AMITantargySablonId = value.ID;
}
else
{
m_AMITantargySablonId = -1;
}
}
protected AMITantargySablon m_AMITantargySablon = null;
IAMITantargySablon IAMITTFSablon.AMITantargySablon
{
get { return AMITantargySablon; }
set { AMITantargySablon = value as AMITantargySablon; }
}
///
/// Nincs definiálva megjegyzés.
///
///
/// Az UML modellben szereplő AMITTFSablon és AMITantargySablon entitások közötti asszociáció megvalósítása.
///
[EntityProperty("AMITantargySablon", EntityPropertyBaseType.Entity, typeof(AMITantargySablon), EntityCopyMethod.ShallowCopy)]
public virtual AMITantargySablon AMITantargySablon
{
get
{
if ((m_AMITantargySablon == null) && (m_AMITantargySablonId != -1))
{
SDA.Kreta.Entities.AMITantargySablon partner = SDA.Kreta.Entities.AMITantargySablon.GiveAnInstance();
partner.LoadByID(m_AMITantargySablonId);
this.SetAMITantargySablon(partner);
}
// természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit
return m_AMITantargySablon;
}
set
{
CheckModifyable();
if (value != null)
{
if ((m_AMITantargySablon == null) || (value.ID != m_AMITantargySablon.ID))
{
if (value.State != EntityState.Initialized)
{
throw new EntityStateException(value.State);
}
if ((this.State != EntityState.New))
{
// Lista van a másik oldalon, úgyhogy a lista DA-ját használjuk
SDA.Kreta.Entities.AMITantargySablon_AMITTFSablon_DA da = new AMITantargySablon_AMITTFSablon_DA(value);
da.AddItem(this);
this.SetAMITantargySablon(value);
}
else
{
this.SetAMITantargySablon(value);
}
FieldModified("AMITantargySablonId", value.ID);
}
}
else
{
// ki kell törölni a kapcsolatot az adatbázisban
this.SetAMITantargySablon(null);
UpdateAssociations();
FieldModified("AMITantargySablonId", DBNull.Value);
}
}
}
#endregion
#region AMITTFSablon (*) -> AMITTFSablon (*)
protected IAssociatedEntityCollection m_AMIAltargy = null;
IReadOnlyList IAMITTFSablon.AMIAltargy => AMIAltargy.Cast().ToList();
///
/// Nincs definiálva megjegyzés.
///
///
/// Az UML modellben szereplő AMITTFSablon és AMITTFSablon entitások közötti asszociáció megvalósítása.
///
[EntityProperty("AMIAltargy", EntityPropertyBaseType.EntityCollection, typeof(IAssociatedEntityCollection), EntityCopyMethod.ShallowCopy, "AMIFotargyId", "AMIAltargyId", "T_AMIFOTARGY_AMIALTARGY_OSSZES")]
public virtual IAssociatedEntityCollection AMIAltargy
{
get
{
if (m_AMIAltargy == null)
{
m_AMIAltargy = new AssociatedEntityCollection(
new AMITTFSablon_AMIAltargy_DA(this)
);
m_AMIAltargy.Load();
}
return m_AMIAltargy;
}
}
///
/// Teljesítményre optimalizált metódus a(z) AMIAltargy hozzárendelésre. Ne használd, ha nem muszáj!
///
public void AddToAMIAltargy(AMITTFSablon partner)
{
if (m_AMIAltargy == null)
{
new AMITTFSablon_AMIAltargy_DA(this).AddItem(partner);
}
else
{
AMIAltargy.Add(partner);
}
}
///
/// Teljesítményre optimalizált metódus a(z) AMIAltargy szétrendelésre. Ne használd, ha nem muszáj!
///
public void RemoveFromAMIAltargy(AMITTFSablon partner)
{
if (m_AMIAltargy == null)
{
new AMITTFSablon_AMIAltargy_DA(this).DeleteItem(partner);
}
else
{
AMIAltargy.Remove(partner);
}
}
#endregion
#region AMITTFSablon (*) -> AMITTFSablon (*)
protected IAssociatedEntityCollection m_AMIFotargy = null;
IReadOnlyList IAMITTFSablon.AMIFotargy => AMIFotargy.Cast().ToList();
///
/// Nincs definiálva megjegyzés.
///
///
/// Az UML modellben szereplő AMITTFSablon és AMITTFSablon entitások közötti asszociáció megvalósítása.
///
[EntityProperty("AMIFotargy", EntityPropertyBaseType.EntityCollection, typeof(IAssociatedEntityCollection), EntityCopyMethod.ShallowCopy, "AMIAltargyId", "AMIFotargyId", "T_AMIFOTARGY_AMIALTARGY_OSSZES")]
public virtual IAssociatedEntityCollection AMIFotargy
{
get
{
if (m_AMIFotargy == null)
{
m_AMIFotargy = new AssociatedEntityCollection(
new AMITTFSablon_AMIFotargy_DA(this)
);
m_AMIFotargy.Load();
}
return m_AMIFotargy;
}
}
///
/// Teljesítményre optimalizált metódus a(z) AMIFotargy hozzárendelésre. Ne használd, ha nem muszáj!
///
public void AddToAMIFotargy(AMITTFSablon partner)
{
if (m_AMIFotargy == null)
{
new AMITTFSablon_AMIFotargy_DA(this).AddItem(partner);
}
else
{
AMIFotargy.Add(partner);
}
}
///
/// Teljesítményre optimalizált metódus a(z) AMIFotargy szétrendelésre. Ne használd, ha nem muszáj!
///
public void RemoveFromAMIFotargy(AMITTFSablon partner)
{
if (m_AMIFotargy == null)
{
new AMITTFSablon_AMIFotargy_DA(this).DeleteItem(partner);
}
else
{
AMIFotargy.Remove(partner);
}
}
#endregion
#endregion
#endregion
}
}