1199 lines
40 KiB
C#
1199 lines
40 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 Csoport 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("Csoport")]
|
|
// alapértelmezett EntityHistoryMode
|
|
public class Csoport : OsztalyCsoport, ICsoport
|
|
{
|
|
internal protected Csoport()
|
|
: base()
|
|
{
|
|
}
|
|
|
|
public new class AttributeInfo : OsztalyCsoport.AttributeInfo
|
|
{
|
|
public const string Tipusa = "Tipusa";
|
|
public const string CsoportnaploLeiras = "CsoportnaploLeiras";
|
|
public const string CsoportnaploMegnyitasa = "CsoportnaploMegnyitasa";
|
|
public const string CsoportnaploZarasa = "CsoportnaploZarasa";
|
|
public const string IsAutoEgyeniCsoport = "IsAutoEgyeniCsoport";
|
|
public const string IsValtozoOsszetetelu = "IsValtozoOsszetetelu";
|
|
public const string DualisKepzohelyAdoszama = "DualisKepzohelyAdoszama";
|
|
public const string DualisKepzohelyNeve = "DualisKepzohelyNeve";
|
|
}
|
|
|
|
public new class AttributeLengthInfo : OsztalyCsoport.AttributeLengthInfo
|
|
{
|
|
public const int CsoportnaploLeirasLength = 2147483647;
|
|
public const int DualisKepzohelyAdoszamaLength = 20;
|
|
public const int DualisKepzohelyNeveLength = 255;
|
|
}
|
|
|
|
#region General
|
|
private CsoportDA m_DA = new CsoportDA();
|
|
|
|
protected static Csoport FakeCsoport { get; set; }
|
|
|
|
public static new Csoport GiveAnInstance()
|
|
{
|
|
Csoport result = FakeCsoport == null
|
|
? new Csoport()
|
|
: (Csoport)FakeCsoport.MemberwiseClone();
|
|
result.Reset();
|
|
result.SetDefaultData();
|
|
|
|
return result;
|
|
}
|
|
|
|
protected new void SetDefaultData()
|
|
{
|
|
if (UserContext.Instance != null)
|
|
{
|
|
if (UserContext.Instance.IntezmenyId > 0)
|
|
{
|
|
IntezmenyId = UserContext.Instance.IntezmenyId;
|
|
AlIntezmenyId = UserContext.Instance.IntezmenyId;
|
|
}
|
|
|
|
if (UserContext.Instance.AktivTanevId > 0)
|
|
{
|
|
TanevId = UserContext.Instance.AktivTanevId;
|
|
AlTanevId = UserContext.Instance.AktivTanevId;
|
|
}
|
|
|
|
m_State = EntityState.Uninitialized;
|
|
}
|
|
}
|
|
|
|
protected override IEntityDataAccessor GetDataAccessor() { return m_DA; }
|
|
protected internal new IEntityDataAccessor InheritedDA { get { return base.GetDataAccessor(); } }
|
|
|
|
[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 new IEntityCollection<Csoport> 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 new IEntityCollection<Csoport> 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 new IEntityCollection<Csoport> LoadWithFilter(string filter, Dictionary<string, object> commandParameters = null)
|
|
{
|
|
var result = new EntityCollection<Csoport>();
|
|
new CsoportDA().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 new IEntityCollection<Csoport> LoadWithFilter(string filter, ColumnFilterMode columnFilterMode, IEnumerable<string> columns, Dictionary<string, object> commandParameters = null)
|
|
{
|
|
var result = new EntityCollection<Csoport>();
|
|
new CsoportDA().LoadWithFilter(result, filter, columnFilterMode, columns, commandParameters);
|
|
return result;
|
|
}
|
|
|
|
protected override void StoreOriginalValues()
|
|
{
|
|
base.StoreOriginalValues();
|
|
OriginalValues.Add("Tipusa", (Tipusa == null ? (object)DBNull.Value : (object)m_Tipusa));
|
|
OriginalValues.Add("CsoportnaploLeiras", (CsoportnaploLeiras == null ? (object)DBNull.Value : (object)m_CsoportnaploLeiras));
|
|
OriginalValues.Add("CsoportnaploMegnyitasa", (CsoportnaploMegnyitasa == null ? (object)DBNull.Value : (object)m_CsoportnaploMegnyitasa));
|
|
OriginalValues.Add("CsoportnaploZarasa", (CsoportnaploZarasa == null ? (object)DBNull.Value : (object)m_CsoportnaploZarasa));
|
|
OriginalValues.Add("IsAutoEgyeniCsoport", (object)m_IsAutoEgyeniCsoport);
|
|
OriginalValues.Add("IsValtozoOsszetetelu", (object)m_IsValtozoOsszetetelu);
|
|
OriginalValues.Add("DualisKepzohelyAdoszama", (DualisKepzohelyAdoszama == null ? (object)DBNull.Value : (object)m_DualisKepzohelyAdoszama));
|
|
OriginalValues.Add("DualisKepzohelyNeve", (DualisKepzohelyNeve == null ? (object)DBNull.Value : (object)m_DualisKepzohelyNeve));
|
|
OriginalValues.Add("CsoportVezetoId", (m_CsoportVezetoId < 0 ? (object)DBNull.Value : (object)m_CsoportVezetoId));
|
|
OriginalValues.Add("OsztalyBontasId", (m_OsztalyBontasId < 0 ? (object)DBNull.Value : (object)m_OsztalyBontasId));
|
|
OriginalValues.Add("SzervezetId", (m_SzervezetId < 0 ? (object)DBNull.Value : (object)m_SzervezetId));
|
|
OriginalValues.Add("AlIntezmenyId", (m_AlIntezmenyId < 0 ? (object)DBNull.Value : (object)m_AlIntezmenyId));
|
|
OriginalValues.Add("AlTanevId", (m_AlTanevId < 0 ? (object)DBNull.Value : (object)m_AlTanevId));
|
|
}
|
|
|
|
#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_CsoportnaploLeiras != null && m_CsoportnaploLeiras.Length > 2147483647)
|
|
{
|
|
throw new InvalidEntityAttributeException("Csoport", "CsoportnaploLeiras", EntityAttributeError.TooLong);
|
|
}
|
|
if (m_DualisKepzohelyAdoszama != null && m_DualisKepzohelyAdoszama.Length > 20)
|
|
{
|
|
throw new InvalidEntityAttributeException("Csoport", "DualisKepzohelyAdoszama", EntityAttributeError.TooLong);
|
|
}
|
|
if (m_DualisKepzohelyNeve != null && m_DualisKepzohelyNeve.Length > 255)
|
|
{
|
|
throw new InvalidEntityAttributeException("Csoport", "DualisKepzohelyNeve", EntityAttributeError.TooLong);
|
|
}
|
|
|
|
}
|
|
|
|
// kötelező asszociációk ellenőrzése...
|
|
if (m_AlIntezmenyId == -1) { throw new InvalidEntityAttributeException("Csoport", "AlIntezmenyId", EntityAttributeError.Empty); }
|
|
if (m_AlTanevId == -1) { throw new InvalidEntityAttributeException("Csoport", "AlTanevId", EntityAttributeError.Empty); }
|
|
|
|
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Alaphelyzetbe állítás
|
|
protected override void Reset()
|
|
{
|
|
base.Reset();
|
|
|
|
// alaphelyzetbe állítjuk az egyszerű mezőket
|
|
this.m_Tipusa = null;
|
|
this.m_CsoportnaploLeiras = null;
|
|
this.m_CsoportnaploMegnyitasa = null;
|
|
this.m_CsoportnaploZarasa = null;
|
|
this.m_IsAutoEgyeniCsoport = false;
|
|
this.m_IsValtozoOsszetetelu = false;
|
|
this.m_DualisKepzohelyAdoszama = null;
|
|
this.m_DualisKepzohelyNeve = null;
|
|
|
|
// alaphelyzetbe állítjuk az asszociációkból származó mezőket
|
|
this.m_CsoportVezetoId = -1;
|
|
this.m_CsoportVezeto = null; // Entity
|
|
this.m_OsztalyBontasId = -1;
|
|
this.m_OsztalyBontas = null; // Entity
|
|
this.m_OsszefuggoSzakGyak = null; // EntityCollection
|
|
this.m_SzervezetId = -1;
|
|
this.m_Szervezet = null; // Entity
|
|
this.m_AlIntezmenyId = -1;
|
|
this.m_AlIntezmeny = null; // Entity
|
|
this.m_AlTanevId = -1;
|
|
this.m_AlTanev = null; // Entity
|
|
}
|
|
|
|
#endregion
|
|
|
|
protected override void DeAssociateBeforeDelete(bool runHandler = false)
|
|
{
|
|
// Nem kaszkád törölhető asszociációk ellenőrzése, hogy üresek-e...
|
|
|
|
// CsoportVezeto esetében mi mutatunk a másikra: startrole: *, endrole: 0..1
|
|
// OsztalyBontas esetében mi mutatunk a másikra: startrole: *, endrole: 0..1
|
|
if (this.OsszefuggoSzakGyak.Count > 0)
|
|
{
|
|
throw new EntityDeleteFailedException("Csoport", "OsszefuggoSzakGyak", EntityUtil.GetAssociationDescription("T_OSSZEFUGGOSZAKGYAK_OSSZES", "C_CSOPORTID")); // nincs kapcsolotabla
|
|
}
|
|
// Szervezet esetében mi mutatunk a másikra: startrole: *, endrole: 0..1
|
|
// AlIntezmeny esetében mi mutatunk a másikra: startrole: *, endrole: 1
|
|
// AlTanev esetében mi mutatunk a másikra: startrole: *, endrole: 1
|
|
|
|
// kaszkád törlések...
|
|
|
|
base.DeAssociateBeforeDelete(runHandler);
|
|
}
|
|
|
|
#region Mezők és tulajdonságok
|
|
|
|
#region Egyszerű mezők
|
|
|
|
#region Tipusa
|
|
|
|
protected internal int? /* DictionaryItem */ m_Tipusa;
|
|
|
|
/// <summary>
|
|
/// Csoporttipus ID (tanórai célú napközis, szakkör)
|
|
/// </summary>
|
|
[EntityProperty("Tipusa", EntityPropertyBaseType.ValueType, typeof(int /* DictionaryItem */), EntityCopyMethod.ShallowCopy)]
|
|
[EntityDictionaryItemProperty("Tipusa", "CsoportTipus", typeof(SDA.Kreta.Entities.CsoportTipus))]
|
|
|
|
public virtual int? /* DictionaryItem */ Tipusa
|
|
{
|
|
get
|
|
{
|
|
return m_Tipusa;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_Tipusa == value) return;
|
|
m_Tipusa = value;
|
|
FieldModified("Tipusa", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CsoportnaploLeiras
|
|
|
|
protected internal string m_CsoportnaploLeiras;
|
|
|
|
/// <summary>
|
|
/// A csoportnapló szöveges leírása
|
|
/// </summary>
|
|
[EntityProperty("CsoportnaploLeiras", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)]
|
|
public virtual string CsoportnaploLeiras
|
|
{
|
|
get
|
|
{
|
|
return m_CsoportnaploLeiras;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_CsoportnaploLeiras == value) return;
|
|
m_CsoportnaploLeiras = value;
|
|
FieldModified("CsoportnaploLeiras", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CsoportnaploMegnyitasa
|
|
|
|
protected internal DateTime? m_CsoportnaploMegnyitasa;
|
|
|
|
/// <summary>
|
|
/// A csoportnapló megnyitásának dátuma
|
|
/// </summary>
|
|
[EntityProperty("CsoportnaploMegnyitasa", EntityPropertyBaseType.ValueType, typeof(DateTime), EntityCopyMethod.ShallowCopy)]
|
|
public virtual DateTime? CsoportnaploMegnyitasa
|
|
{
|
|
get
|
|
{
|
|
return m_CsoportnaploMegnyitasa;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_CsoportnaploMegnyitasa == value) return;
|
|
m_CsoportnaploMegnyitasa = value;
|
|
FieldModified("CsoportnaploMegnyitasa", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CsoportnaploZarasa
|
|
|
|
protected internal DateTime? m_CsoportnaploZarasa;
|
|
|
|
/// <summary>
|
|
/// A csoportnapló lezárásának dátuma
|
|
/// </summary>
|
|
[EntityProperty("CsoportnaploZarasa", EntityPropertyBaseType.ValueType, typeof(DateTime), EntityCopyMethod.ShallowCopy)]
|
|
public virtual DateTime? CsoportnaploZarasa
|
|
{
|
|
get
|
|
{
|
|
return m_CsoportnaploZarasa;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_CsoportnaploZarasa == value) return;
|
|
m_CsoportnaploZarasa = value;
|
|
FieldModified("CsoportnaploZarasa", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IsAutoEgyeniCsoport
|
|
|
|
protected internal bool m_IsAutoEgyeniCsoport;
|
|
|
|
/// <summary>
|
|
/// Autoegyéni csoport-e
|
|
/// </summary>
|
|
[EntityProperty("IsAutoEgyeniCsoport", EntityPropertyBaseType.ValueType, typeof(bool), EntityCopyMethod.ShallowCopy)]
|
|
public virtual bool IsAutoEgyeniCsoport
|
|
{
|
|
get
|
|
{
|
|
return m_IsAutoEgyeniCsoport;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_IsAutoEgyeniCsoport == value) return;
|
|
m_IsAutoEgyeniCsoport = value;
|
|
FieldModified("IsAutoEgyeniCsoport", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IsValtozoOsszetetelu
|
|
|
|
protected internal bool m_IsValtozoOsszetetelu;
|
|
|
|
/// <summary>
|
|
/// Nincs definiálva megjegyzés.
|
|
/// </summary>
|
|
[EntityProperty("IsValtozoOsszetetelu", EntityPropertyBaseType.ValueType, typeof(bool), EntityCopyMethod.ShallowCopy)]
|
|
public virtual bool IsValtozoOsszetetelu
|
|
{
|
|
get
|
|
{
|
|
return m_IsValtozoOsszetetelu;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_IsValtozoOsszetetelu == value) return;
|
|
m_IsValtozoOsszetetelu = value;
|
|
FieldModified("IsValtozoOsszetetelu", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DualisKepzohelyAdoszama
|
|
|
|
protected internal string m_DualisKepzohelyAdoszama;
|
|
|
|
/// <summary>
|
|
/// Kapcsolódó szervezet rögzítéskori adószáma
|
|
/// </summary>
|
|
[EntityProperty("DualisKepzohelyAdoszama", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)]
|
|
public virtual string DualisKepzohelyAdoszama
|
|
{
|
|
get
|
|
{
|
|
return m_DualisKepzohelyAdoszama;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_DualisKepzohelyAdoszama == value) return;
|
|
m_DualisKepzohelyAdoszama = value;
|
|
FieldModified("DualisKepzohelyAdoszama", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DualisKepzohelyNeve
|
|
|
|
protected internal string m_DualisKepzohelyNeve;
|
|
|
|
/// <summary>
|
|
/// Kapcsolódó szervezet rögzítéskori neve
|
|
/// </summary>
|
|
[EntityProperty("DualisKepzohelyNeve", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)]
|
|
public virtual string DualisKepzohelyNeve
|
|
{
|
|
get
|
|
{
|
|
return m_DualisKepzohelyNeve;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
|
|
if (m_DualisKepzohelyNeve == value) return;
|
|
m_DualisKepzohelyNeve = value;
|
|
FieldModified("DualisKepzohelyNeve", value);
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region Asszociációkkal kapcsolatos dolgok
|
|
|
|
protected internal virtual bool LoadByOsszefuggoSzakGyakId(int id)
|
|
{
|
|
return m_DA.LoadByOsszefuggoSzakGyakId(id, this);
|
|
}
|
|
|
|
#region Csoport (*) -> Alkalmazott (0..1)
|
|
|
|
protected internal int m_CsoportVezetoId = -1;
|
|
|
|
/// <summary>
|
|
/// A(z) CsoportVezeto asszociáció végpontjának ID-ja.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// - 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
|
|
/// </remarks>
|
|
public virtual int CsoportVezetoId
|
|
{
|
|
get
|
|
{
|
|
return InternalCsoportVezetoId;
|
|
}
|
|
set
|
|
{
|
|
InternalCsoportVezetoId = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal int InternalCsoportVezetoId
|
|
{
|
|
get
|
|
{
|
|
if (m_CsoportVezeto != null)
|
|
{
|
|
return m_CsoportVezeto.ID;
|
|
}
|
|
else
|
|
{
|
|
return m_CsoportVezetoId;// XXX az meg nem teljesen OK
|
|
}
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (m_CsoportVezetoId != value)
|
|
{
|
|
m_CsoportVezetoId = value;
|
|
m_CsoportVezeto = null;
|
|
FieldModified("CsoportVezetoId", value);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal void ModifyCsoportVezeto(Alkalmazott value)
|
|
{
|
|
m_CsoportVezetoId = value != null ? value.ID : -1;
|
|
m_CsoportVezeto = value;
|
|
FieldModified("CsoportVezetoId", value != null ? (object)value.ID : DBNull.Value);
|
|
}
|
|
|
|
protected internal void SetCsoportVezeto(Alkalmazott value)
|
|
{
|
|
m_CsoportVezeto = value;
|
|
if (value != null)
|
|
{
|
|
m_CsoportVezetoId = value.ID;
|
|
}
|
|
else
|
|
{
|
|
m_CsoportVezetoId = -1;
|
|
}
|
|
}
|
|
|
|
protected Alkalmazott m_CsoportVezeto = null;
|
|
|
|
IAlkalmazott ICsoport.CsoportVezeto
|
|
{
|
|
get { return CsoportVezeto; }
|
|
set { CsoportVezeto = value as Alkalmazott; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// A csoportvezeto ID-ja (AlkalmazottId)
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Az UML modellben szereplő Csoport és Alkalmazott entitások közötti asszociáció megvalósítása.
|
|
/// </remarks>
|
|
[EntityProperty("CsoportVezeto", EntityPropertyBaseType.Entity, typeof(Alkalmazott), EntityCopyMethod.ShallowCopy)]
|
|
public virtual Alkalmazott CsoportVezeto
|
|
{
|
|
get
|
|
{
|
|
if ((m_CsoportVezeto == null) && (m_CsoportVezetoId != -1))
|
|
{
|
|
SDA.Kreta.Entities.Alkalmazott partner = SDA.Kreta.Entities.Alkalmazott.GiveAnInstance();
|
|
partner.LoadByID(m_CsoportVezetoId);
|
|
|
|
this.SetCsoportVezeto(partner);
|
|
}
|
|
// természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit
|
|
return m_CsoportVezeto;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (value != null)
|
|
{
|
|
if ((m_CsoportVezeto == null) || (value.ID != m_CsoportVezeto.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.Alkalmazott_VezetoCsoportjai_DA da = new Alkalmazott_VezetoCsoportjai_DA(value);
|
|
da.AddItem(this);
|
|
this.SetCsoportVezeto(value);
|
|
}
|
|
else
|
|
{
|
|
this.SetCsoportVezeto(value);
|
|
}
|
|
FieldModified("CsoportVezetoId", value.ID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// ki kell törölni a kapcsolatot az adatbázisban
|
|
this.SetCsoportVezeto(null);
|
|
UpdateAssociations();
|
|
FieldModified("CsoportVezetoId", DBNull.Value);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Csoport (*) -> Osztaly (0..1)
|
|
|
|
protected internal int m_OsztalyBontasId = -1;
|
|
|
|
/// <summary>
|
|
/// A(z) OsztalyBontas asszociáció végpontjának ID-ja.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// - 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
|
|
/// </remarks>
|
|
public virtual int OsztalyBontasId
|
|
{
|
|
get
|
|
{
|
|
return InternalOsztalyBontasId;
|
|
}
|
|
set
|
|
{
|
|
InternalOsztalyBontasId = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal int InternalOsztalyBontasId
|
|
{
|
|
get
|
|
{
|
|
if (m_OsztalyBontas != null)
|
|
{
|
|
return m_OsztalyBontas.ID;
|
|
}
|
|
else
|
|
{
|
|
return m_OsztalyBontasId;// XXX az meg nem teljesen OK
|
|
}
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (m_OsztalyBontasId != value)
|
|
{
|
|
m_OsztalyBontasId = value;
|
|
m_OsztalyBontas = null;
|
|
FieldModified("OsztalyBontasId", value);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal void ModifyOsztalyBontas(Osztaly value)
|
|
{
|
|
m_OsztalyBontasId = value != null ? value.ID : -1;
|
|
m_OsztalyBontas = value;
|
|
FieldModified("OsztalyBontasId", value != null ? (object)value.ID : DBNull.Value);
|
|
}
|
|
|
|
protected internal void SetOsztalyBontas(Osztaly value)
|
|
{
|
|
m_OsztalyBontas = value;
|
|
if (value != null)
|
|
{
|
|
m_OsztalyBontasId = value.ID;
|
|
}
|
|
else
|
|
{
|
|
m_OsztalyBontasId = -1;
|
|
}
|
|
}
|
|
|
|
protected Osztaly m_OsztalyBontas = null;
|
|
|
|
IOsztaly ICsoport.OsztalyBontas
|
|
{
|
|
get { return OsztalyBontas; }
|
|
set { OsztalyBontas = value as Osztaly; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Amenyiben a csoport egy osztály bontása, az osztály ID-ja
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Az UML modellben szereplő Csoport és Osztaly entitások közötti asszociáció megvalósítása.
|
|
/// </remarks>
|
|
[EntityProperty("OsztalyBontas", EntityPropertyBaseType.Entity, typeof(Osztaly), EntityCopyMethod.ShallowCopy)]
|
|
public virtual Osztaly OsztalyBontas
|
|
{
|
|
get
|
|
{
|
|
if ((m_OsztalyBontas == null) && (m_OsztalyBontasId != -1))
|
|
{
|
|
SDA.Kreta.Entities.Osztaly partner = SDA.Kreta.Entities.Osztaly.GiveAnInstance();
|
|
partner.LoadByID(m_OsztalyBontasId);
|
|
|
|
this.SetOsztalyBontas(partner);
|
|
}
|
|
// természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit
|
|
return m_OsztalyBontas;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (value != null)
|
|
{
|
|
if ((m_OsztalyBontas == null) || (value.ID != m_OsztalyBontas.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.Osztaly_CsoportBontasok_DA da = new Osztaly_CsoportBontasok_DA(value);
|
|
da.AddItem(this);
|
|
this.SetOsztalyBontas(value);
|
|
}
|
|
else
|
|
{
|
|
this.SetOsztalyBontas(value);
|
|
}
|
|
FieldModified("OsztalyBontasId", value.ID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// ki kell törölni a kapcsolatot az adatbázisban
|
|
this.SetOsztalyBontas(null);
|
|
UpdateAssociations();
|
|
FieldModified("OsztalyBontasId", DBNull.Value);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Csoport (*) -> Szervezet (0..1)
|
|
|
|
protected internal int m_SzervezetId = -1;
|
|
|
|
/// <summary>
|
|
/// A(z) Szervezet asszociáció végpontjának ID-ja.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// - 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
|
|
/// </remarks>
|
|
public virtual int SzervezetId
|
|
{
|
|
get
|
|
{
|
|
return InternalSzervezetId;
|
|
}
|
|
set
|
|
{
|
|
InternalSzervezetId = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal int InternalSzervezetId
|
|
{
|
|
get
|
|
{
|
|
if (m_Szervezet != null)
|
|
{
|
|
return m_Szervezet.ID;
|
|
}
|
|
else
|
|
{
|
|
return m_SzervezetId;// XXX az meg nem teljesen OK
|
|
}
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (m_SzervezetId != value)
|
|
{
|
|
m_SzervezetId = value;
|
|
m_Szervezet = null;
|
|
FieldModified("SzervezetId", value);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal void ModifySzervezet(Szervezet value)
|
|
{
|
|
m_SzervezetId = value != null ? value.ID : -1;
|
|
m_Szervezet = value;
|
|
FieldModified("SzervezetId", value != null ? (object)value.ID : DBNull.Value);
|
|
}
|
|
|
|
protected internal void SetSzervezet(Szervezet value)
|
|
{
|
|
m_Szervezet = value;
|
|
if (value != null)
|
|
{
|
|
m_SzervezetId = value.ID;
|
|
}
|
|
else
|
|
{
|
|
m_SzervezetId = -1;
|
|
}
|
|
}
|
|
|
|
protected Szervezet m_Szervezet = null;
|
|
|
|
ISzervezet ICsoport.Szervezet
|
|
{
|
|
get { return Szervezet; }
|
|
set { Szervezet = value as Szervezet; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// A kapcsolódó szervezet ID-ja
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Az UML modellben szereplő Csoport és Szervezet entitások közötti asszociáció megvalósítása.
|
|
/// </remarks>
|
|
[EntityProperty("Szervezet", EntityPropertyBaseType.Entity, typeof(Szervezet), EntityCopyMethod.ShallowCopy)]
|
|
public virtual Szervezet Szervezet
|
|
{
|
|
get
|
|
{
|
|
if ((m_Szervezet == null) && (m_SzervezetId != -1))
|
|
{
|
|
SDA.Kreta.Entities.Szervezet partner = SDA.Kreta.Entities.Szervezet.GiveAnInstance();
|
|
partner.LoadByID(m_SzervezetId);
|
|
|
|
this.SetSzervezet(partner);
|
|
}
|
|
// természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit
|
|
return m_Szervezet;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (value != null)
|
|
{
|
|
if ((m_Szervezet == null) || (value.ID != m_Szervezet.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.Szervezet_Csoport_DA da = new Szervezet_Csoport_DA(value);
|
|
da.AddItem(this);
|
|
this.SetSzervezet(value);
|
|
}
|
|
else
|
|
{
|
|
this.SetSzervezet(value);
|
|
}
|
|
FieldModified("SzervezetId", value.ID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// ki kell törölni a kapcsolatot az adatbázisban
|
|
this.SetSzervezet(null);
|
|
UpdateAssociations();
|
|
FieldModified("SzervezetId", DBNull.Value);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Csoport (*) -> Intezmeny (1)
|
|
|
|
protected internal int m_AlIntezmenyId = -1;
|
|
|
|
/// <summary>
|
|
/// A(z) AlIntezmeny asszociáció végpontjának ID-ja.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// - 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
|
|
/// </remarks>
|
|
public virtual int AlIntezmenyId
|
|
{
|
|
get
|
|
{
|
|
return InternalAlIntezmenyId;
|
|
}
|
|
set
|
|
{
|
|
InternalAlIntezmenyId = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal int InternalAlIntezmenyId
|
|
{
|
|
get
|
|
{
|
|
if (m_AlIntezmeny != null)
|
|
{
|
|
return m_AlIntezmeny.ID;
|
|
}
|
|
else
|
|
{
|
|
return m_AlIntezmenyId;// XXX az meg nem teljesen OK
|
|
}
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (m_AlIntezmenyId != value)
|
|
{
|
|
m_AlIntezmenyId = value;
|
|
m_AlIntezmeny = null;
|
|
FieldModified("AlIntezmenyId", value);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal void ModifyAlIntezmeny(Intezmeny value)
|
|
{
|
|
m_AlIntezmenyId = value != null ? value.ID : -1;
|
|
m_AlIntezmeny = value;
|
|
FieldModified("AlIntezmenyId", value != null ? (object)value.ID : DBNull.Value);
|
|
}
|
|
|
|
protected internal void SetAlIntezmeny(Intezmeny value)
|
|
{
|
|
m_AlIntezmeny = value;
|
|
if (value != null)
|
|
{
|
|
m_AlIntezmenyId = value.ID;
|
|
}
|
|
else
|
|
{
|
|
m_AlIntezmenyId = -1;
|
|
}
|
|
}
|
|
|
|
protected Intezmeny m_AlIntezmeny = null;
|
|
|
|
IIntezmeny ICsoport.AlIntezmeny
|
|
{
|
|
get { return AlIntezmeny; }
|
|
set { AlIntezmeny = value as Intezmeny; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Nincs definiálva megjegyzés.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Az UML modellben szereplő Csoport és Intezmeny entitások közötti asszociáció megvalósítása.
|
|
/// </remarks>
|
|
[EntityProperty("AlIntezmeny", EntityPropertyBaseType.Entity, typeof(Intezmeny), EntityCopyMethod.ShallowCopy)]
|
|
public virtual Intezmeny AlIntezmeny
|
|
{
|
|
get
|
|
{
|
|
if ((m_AlIntezmeny == null) && (m_AlIntezmenyId != -1))
|
|
{
|
|
SDA.Kreta.Entities.Intezmeny partner = SDA.Kreta.Entities.Intezmeny.GiveAnInstance();
|
|
partner.LoadByID(m_AlIntezmenyId);
|
|
|
|
this.SetAlIntezmeny(partner);
|
|
}
|
|
// természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit
|
|
return m_AlIntezmeny;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (value != null)
|
|
{
|
|
if ((m_AlIntezmeny == null) || (value.ID != m_AlIntezmeny.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.Intezmeny_Csoport_DA da = new Intezmeny_Csoport_DA(value);
|
|
da.AddItem(this);
|
|
this.SetAlIntezmeny(value);
|
|
}
|
|
else
|
|
{
|
|
this.SetAlIntezmeny(value);
|
|
}
|
|
FieldModified("AlIntezmenyId", value.ID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// ki kell törölni a kapcsolatot az adatbázisban
|
|
this.SetAlIntezmeny(null);
|
|
UpdateAssociations();
|
|
FieldModified("AlIntezmenyId", DBNull.Value);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Csoport (*) -> Tanev (1)
|
|
|
|
protected internal int m_AlTanevId = -1;
|
|
|
|
/// <summary>
|
|
/// A(z) AlTanev asszociáció végpontjának ID-ja.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// - 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
|
|
/// </remarks>
|
|
public virtual int AlTanevId
|
|
{
|
|
get
|
|
{
|
|
return InternalAlTanevId;
|
|
}
|
|
set
|
|
{
|
|
InternalAlTanevId = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal int InternalAlTanevId
|
|
{
|
|
get
|
|
{
|
|
if (m_AlTanev != null)
|
|
{
|
|
return m_AlTanev.ID;
|
|
}
|
|
else
|
|
{
|
|
return m_AlTanevId;// XXX az meg nem teljesen OK
|
|
}
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (m_AlTanevId != value)
|
|
{
|
|
m_AlTanevId = value;
|
|
m_AlTanev = null;
|
|
FieldModified("AlTanevId", value);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ez egy külön bejárat a DA számára
|
|
/// <summary>
|
|
internal void ModifyAlTanev(Tanev value)
|
|
{
|
|
m_AlTanevId = value != null ? value.ID : -1;
|
|
m_AlTanev = value;
|
|
FieldModified("AlTanevId", value != null ? (object)value.ID : DBNull.Value);
|
|
}
|
|
|
|
protected internal void SetAlTanev(Tanev value)
|
|
{
|
|
m_AlTanev = value;
|
|
if (value != null)
|
|
{
|
|
m_AlTanevId = value.ID;
|
|
}
|
|
else
|
|
{
|
|
m_AlTanevId = -1;
|
|
}
|
|
}
|
|
|
|
protected Tanev m_AlTanev = null;
|
|
|
|
ITanev ICsoport.AlTanev
|
|
{
|
|
get { return AlTanev; }
|
|
set { AlTanev = value as Tanev; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Nincs definiálva megjegyzés.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Az UML modellben szereplő Csoport és Tanev entitások közötti asszociáció megvalósítása.
|
|
/// </remarks>
|
|
[EntityProperty("AlTanev", EntityPropertyBaseType.Entity, typeof(Tanev), EntityCopyMethod.ShallowCopy)]
|
|
public virtual Tanev AlTanev
|
|
{
|
|
get
|
|
{
|
|
if ((m_AlTanev == null) && (m_AlTanevId != -1))
|
|
{
|
|
SDA.Kreta.Entities.Tanev partner = SDA.Kreta.Entities.Tanev.GiveAnInstance();
|
|
partner.LoadByID(m_AlTanevId);
|
|
|
|
this.SetAlTanev(partner);
|
|
}
|
|
// természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit
|
|
return m_AlTanev;
|
|
}
|
|
set
|
|
{
|
|
CheckModifyable();
|
|
if (value != null)
|
|
{
|
|
if ((m_AlTanev == null) || (value.ID != m_AlTanev.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.Tanev_Csoport_DA da = new Tanev_Csoport_DA(value);
|
|
da.AddItem(this);
|
|
this.SetAlTanev(value);
|
|
}
|
|
else
|
|
{
|
|
this.SetAlTanev(value);
|
|
}
|
|
FieldModified("AlTanevId", value.ID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// ki kell törölni a kapcsolatot az adatbázisban
|
|
this.SetAlTanev(null);
|
|
UpdateAssociations();
|
|
FieldModified("AlTanevId", DBNull.Value);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
public override int TanevId
|
|
{
|
|
get
|
|
{
|
|
return base.TanevId;
|
|
}
|
|
set
|
|
{
|
|
InternalAlTanevId = value;
|
|
base.TanevId = value;
|
|
}
|
|
}
|
|
|
|
#region Csoport (1) -> OsszefuggoSzakGyak (0..*)
|
|
protected IAssociatedEntityCollection<OsszefuggoSzakGyak> m_OsszefuggoSzakGyak = null;
|
|
|
|
IReadOnlyList<IOsszefuggoSzakGyak> ICsoport.OsszefuggoSzakGyak => OsszefuggoSzakGyak.Cast<IOsszefuggoSzakGyak>().ToList();
|
|
|
|
/// <summary>
|
|
/// Nincs definiálva megjegyzés.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Az UML modellben szereplő Csoport és OsszefuggoSzakGyak entitások közötti asszociáció megvalósítása.
|
|
/// </remarks>
|
|
[EntityProperty("OsszefuggoSzakGyak", EntityPropertyBaseType.EntityCollection, typeof(IAssociatedEntityCollection<OsszefuggoSzakGyak>), EntityCopyMethod.DeepCopy, "CsoportId")]
|
|
public virtual IAssociatedEntityCollection<OsszefuggoSzakGyak> OsszefuggoSzakGyak
|
|
{
|
|
get
|
|
{
|
|
if (m_OsszefuggoSzakGyak == null)
|
|
{
|
|
m_OsszefuggoSzakGyak = new AssociatedEntityCollection<Csoport, OsszefuggoSzakGyak>(
|
|
new Csoport_OsszefuggoSzakGyak_DA(this)
|
|
);
|
|
m_OsszefuggoSzakGyak.Load();
|
|
}
|
|
return m_OsszefuggoSzakGyak;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|