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 ErtekelesTantargyi 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("ErtekelesTantargyi")] // alapértelmezett EntityHistoryMode public class ErtekelesTantargyi : Entity, IErtekelesTantargyi { internal protected ErtekelesTantargyi() : base() { } public class AttributeInfo { public const string Datum = "Datum"; public const string ErtekelesModId = "ErtekelesModId"; public const string ErtekelesTipusId = "ErtekelesTipusId"; public const string IsErtesitesElkuldve = "IsErtesitesElkuldve"; public const string IsFromMobil = "IsFromMobil"; public const string OsztalyzatTipusId = "OsztalyzatTipusId"; public const string RogziteskoriEvfolyamTipusId = "RogziteskoriEvfolyamTipusId"; public const string RogzitesDatum = "RogzitesDatum"; public const string Szazalek = "Szazalek"; public const string Szoveg = "Szoveg"; public const string SzovegFormazott = "SzovegFormazott"; public const string SzovegRovidNev = "SzovegRovidNev"; public const string Tema = "Tema"; } public class AttributeLengthInfo { public const int SzovegLength = 2147483647; public const int SzovegFormazottLength = 2147483647; public const int SzovegRovidNevLength = 3; public const int TemaLength = 2000; } #region General private ErtekelesTantargyiDA m_DA = new ErtekelesTantargyiDA(); protected static ErtekelesTantargyi FakeErtekelesTantargyi { get; set; } public static ErtekelesTantargyi GiveAnInstance() { ErtekelesTantargyi result = FakeErtekelesTantargyi == null ? new ErtekelesTantargyi() : (ErtekelesTantargyi)FakeErtekelesTantargyi.MemberwiseClone(); result.Reset(); result.SetDefaultData(); return result; } protected void SetDefaultData() { if (UserContext.Instance != null) { if (UserContext.Instance.IntezmenyId > 0) { IntezmenyId = UserContext.Instance.IntezmenyId; } if (UserContext.Instance.AktivTanevId > 0) { TanevId = UserContext.Instance.AktivTanevId; } m_State = EntityState.Uninitialized; } } 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 ErtekelesTantargyiDA().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 ErtekelesTantargyiDA().LoadWithFilter(result, filter, columnFilterMode, columns, commandParameters); return result; } protected override void StoreOriginalValues() { base.StoreOriginalValues(); OriginalValues.Add("Datum", (object)m_Datum); OriginalValues.Add("ErtekelesModId", (ErtekelesModId == null ? (object)DBNull.Value : (object)m_ErtekelesModId)); OriginalValues.Add("ErtekelesTipusId", (object)m_ErtekelesTipusId); OriginalValues.Add("IsErtesitesElkuldve", (object)m_IsErtesitesElkuldve); OriginalValues.Add("IsFromMobil", (object)m_IsFromMobil); OriginalValues.Add("OsztalyzatTipusId", (OsztalyzatTipusId == null ? (object)DBNull.Value : (object)m_OsztalyzatTipusId)); OriginalValues.Add("RogziteskoriEvfolyamTipusId", (RogziteskoriEvfolyamTipusId == null ? (object)DBNull.Value : (object)m_RogziteskoriEvfolyamTipusId)); OriginalValues.Add("RogzitesDatum", (object)m_RogzitesDatum); OriginalValues.Add("Szazalek", (Szazalek == null ? (object)DBNull.Value : (object)m_Szazalek)); OriginalValues.Add("Szoveg", (Szoveg == null ? (object)DBNull.Value : (object)m_Szoveg)); OriginalValues.Add("SzovegFormazott", (SzovegFormazott == null ? (object)DBNull.Value : (object)m_SzovegFormazott)); OriginalValues.Add("SzovegRovidNev", (SzovegRovidNev == null ? (object)DBNull.Value : (object)m_SzovegRovidNev)); OriginalValues.Add("Tema", (Tema == null ? (object)DBNull.Value : (object)m_Tema)); OriginalValues.Add("TantargyId", (m_TantargyId < 0 ? (object)DBNull.Value : (object)m_TantargyId)); OriginalValues.Add("RogziteskoriOsztalyId", (m_RogziteskoriOsztalyId < 0 ? (object)DBNull.Value : (object)m_RogziteskoriOsztalyId)); OriginalValues.Add("TanuloId", (m_TanuloId < 0 ? (object)DBNull.Value : (object)m_TanuloId)); OriginalValues.Add("OsszefuggoSzakGyakId", (m_OsszefuggoSzakGyakId < 0 ? (object)DBNull.Value : (object)m_OsszefuggoSzakGyakId)); OriginalValues.Add("RogzitoAlkalmazottId", (m_RogzitoAlkalmazottId < 0 ? (object)DBNull.Value : (object)m_RogzitoAlkalmazottId)); OriginalValues.Add("OsztalyCsoportId", (m_OsztalyCsoportId < 0 ? (object)DBNull.Value : (object)m_OsztalyCsoportId)); OriginalValues.Add("IntezmenyId", (m_IntezmenyId < 0 ? (object)DBNull.Value : (object)m_IntezmenyId)); OriginalValues.Add("TanevId", (m_TanevId < 0 ? (object)DBNull.Value : (object)m_TanevId)); } #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_Szoveg != null && m_Szoveg.Length > 2147483647) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "Szoveg", EntityAttributeError.TooLong); } if (m_SzovegFormazott != null && m_SzovegFormazott.Length > 2147483647) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "SzovegFormazott", EntityAttributeError.TooLong); } if (m_SzovegRovidNev != null && m_SzovegRovidNev.Length > 3) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "SzovegRovidNev", EntityAttributeError.TooLong); } if (m_Tema != null && m_Tema.Length > 2000) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "Tema", EntityAttributeError.TooLong); } } // kötelező asszociációk ellenőrzése... if (m_TantargyId == -1) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "TantargyId", EntityAttributeError.Empty); } if (m_TanuloId == -1) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "TanuloId", EntityAttributeError.Empty); } if (m_RogzitoAlkalmazottId == -1) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "RogzitoAlkalmazottId", EntityAttributeError.Empty); } if (m_OsztalyCsoportId == -1) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "OsztalyCsoportId", EntityAttributeError.Empty); } if (m_IntezmenyId == -1) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "IntezmenyId", EntityAttributeError.Empty); } if (m_TanevId == -1) { throw new InvalidEntityAttributeException("ErtekelesTantargyi", "TanevId", EntityAttributeError.Empty); } } #endregion #region Alaphelyzetbe állítás protected override void Reset() { base.Reset(); // alaphelyzetbe állítjuk az egyszerű mezőket this.m_Datum = DateTime.Now /* XXX DateTime */; this.m_ErtekelesModId = null; this.m_ErtekelesTipusId = -1; this.m_IsErtesitesElkuldve = false; this.m_IsFromMobil = false; this.m_OsztalyzatTipusId = null; this.m_RogziteskoriEvfolyamTipusId = null; this.m_RogzitesDatum = DateTime.Now /* XXX DateTime */; this.m_Szazalek = null; this.m_Szoveg = null; this.m_SzovegFormazott = null; this.m_SzovegRovidNev = null; this.m_Tema = null; // alaphelyzetbe állítjuk az asszociációkból származó mezőket this.m_TantargyId = -1; this.m_Tantargy = null; // Entity this.m_RogziteskoriOsztalyId = -1; this.m_RogziteskoriOsztaly = null; // Entity this.m_TanuloId = -1; this.m_Tanulo = null; // Entity this.m_OsszefuggoSzakGyakId = -1; this.m_OsszefuggoSzakGyak = null; // Entity this.m_RogzitoAlkalmazottId = -1; this.m_RogzitoAlkalmazott = null; // Entity this.m_OsztalyCsoportId = -1; this.m_OsztalyCsoport = null; // Entity this.m_ErtekelesTantargyiNyelv = null; // EntityCollection this.m_IntezmenyId = -1; this.m_Intezmeny = null; // Entity this.m_TanevId = -1; this.m_Tanev = 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... // Tantargy esetében mi mutatunk a másikra: startrole: *, endrole: 1 // RogziteskoriOsztaly esetében mi mutatunk a másikra: startrole: *, endrole: 0..1 // Tanulo esetében mi mutatunk a másikra: startrole: *, endrole: 1 // OsszefuggoSzakGyak esetében mi mutatunk a másikra: startrole: *, endrole: 0..1 // RogzitoAlkalmazott esetében mi mutatunk a másikra: startrole: *, endrole: 1 // OsztalyCsoport esetében mi mutatunk a másikra: startrole: *, endrole: 1 if (this.ErtekelesTantargyiNyelv.Count > 0) { throw new EntityDeleteFailedException("ErtekelesTantargyi", "ErtekelesTantargyiNyelv", EntityUtil.GetAssociationDescription("T_ERTEKELESTANTARGYINYELV_OSSZES", "C_ERTEKELESTANTARGYIID")); // nincs kapcsolotabla } // Intezmeny esetében mi mutatunk a másikra: startrole: *, endrole: 1 // Tanev esetében mi mutatunk a másikra: startrole: *, endrole: 1 // kaszkád törlések... } #region Mezők és tulajdonságok #region Egyszerű mezők #region Datum protected internal DateTime m_Datum; /// /// Az értékelésnek a dátuma, hogy melyik napra adták az értékelést. /// [EntityProperty("Datum", EntityPropertyBaseType.ValueType, typeof(DateTime), EntityCopyMethod.ShallowCopy)] public virtual DateTime Datum { get { return m_Datum; } set { CheckModifyable(); if (m_Datum == value) return; m_Datum = value; FieldModified("Datum", value); } } #endregion #region ErtekelesModId protected internal int? /* DictionaryItem */ m_ErtekelesModId; /// /// Az értékelés módjának az ID-ja. Az értékeket a T_ERTEKELESMOD szótár táblából veszi. Pl.: Írásbeli témazáró, szóbeli felelet, órai munka, stb… /// [EntityProperty("ErtekelesModId", EntityPropertyBaseType.ValueType, typeof(int /* DictionaryItem */), EntityCopyMethod.ShallowCopy)] [EntityDictionaryItemProperty("ErtekelesModId", "ErtekelesMod", typeof(SDA.Kreta.Entities.ErtekelesMod))] public virtual int? /* DictionaryItem */ ErtekelesModId { get { return m_ErtekelesModId; } set { CheckModifyable(); if (m_ErtekelesModId == value) return; m_ErtekelesModId = value; FieldModified("ErtekelesModId", value); } } #endregion #region ErtekelesTipusId protected internal int /* DictionaryItem */ m_ErtekelesTipusId; /// /// Az értékelés típusának az ID-ja. Az értékeket a T_ERTEKELESTIPUS szótár táblából veszi. Pl.: Évközi, félévi, évvégi, stb… /// [EntityProperty("ErtekelesTipusId", EntityPropertyBaseType.ValueType, typeof(int /* DictionaryItem */), EntityCopyMethod.ShallowCopy)] [EntityDictionaryItemProperty("ErtekelesTipusId", "ErtekelesTipus", typeof(SDA.Kreta.Entities.ErtekelesTipus))] public virtual int /* DictionaryItem */ ErtekelesTipusId { get { return m_ErtekelesTipusId; } set { CheckModifyable(); if (m_ErtekelesTipusId == value) return; m_ErtekelesTipusId = value; FieldModified("ErtekelesTipusId", value); } } #endregion #region IsErtesitesElkuldve protected internal bool m_IsErtesitesElkuldve; /// /// Ebben a mezőben tároljuk, hogy az adott értékelésnek az értesítése ki lett-e küldve a mobil készülékekre push notification-ként. Egy job vizsgálja és küldi ki az értesítést, ha az értéke korábban „F” volt. Ezt követően „T”-re állítja. /// [EntityProperty("IsErtesitesElkuldve", EntityPropertyBaseType.ValueType, typeof(bool), EntityCopyMethod.ShallowCopy)] public virtual bool IsErtesitesElkuldve { get { return m_IsErtesitesElkuldve; } set { CheckModifyable(); if (m_IsErtesitesElkuldve == value) return; m_IsErtesitesElkuldve = value; FieldModified("IsErtesitesElkuldve", value); } } #endregion #region IsFromMobil protected internal bool m_IsFromMobil; /// /// Ebben a mezőben tároljuk, hogy mobilról jött-e az értékelés. /// [EntityProperty("IsFromMobil", EntityPropertyBaseType.ValueType, typeof(bool), EntityCopyMethod.ShallowCopy)] public virtual bool IsFromMobil { get { return m_IsFromMobil; } set { CheckModifyable(); if (m_IsFromMobil == value) return; m_IsFromMobil = value; FieldModified("IsFromMobil", value); } } #endregion #region OsztalyzatTipusId protected internal int? /* DictionaryItem */ m_OsztalyzatTipusId; /// /// Az értékelés osztályzat típusának az ID-ja. Az értékeket a T_OSZTALYZATTIPUS szótár táblából veszi. Pl.: 5, 4, 3, stb… A C_OSZTALYZATTIPUS, a C_SZOVEG és a C_SZAZALEK mezők közül csak egy kaphat értéket, a többi minden esetben NULL. /// [EntityProperty("OsztalyzatTipusId", EntityPropertyBaseType.ValueType, typeof(int /* DictionaryItem */), EntityCopyMethod.ShallowCopy)] [EntityDictionaryItemProperty("OsztalyzatTipusId", "OsztalyzatTipus", typeof(SDA.Kreta.Entities.OsztalyzatTipus))] public virtual int? /* DictionaryItem */ OsztalyzatTipusId { get { return m_OsztalyzatTipusId; } set { CheckModifyable(); if (m_OsztalyzatTipusId == value) return; m_OsztalyzatTipusId = value; FieldModified("OsztalyzatTipusId", value); } } #endregion #region RogziteskoriEvfolyamTipusId protected internal int? /* DictionaryItem */ m_RogziteskoriEvfolyamTipusId; /// /// Az értékelés rögzítésekor az adott tanulónak (C_TANULOID) az aktuális osztályának, az évfolyamának az ID-ja. Kivéve, ha összevont évfolyamú osztályról van szó. Akkor a tanulónak a tanügyi adatainak a tanuló évfolyamának ID-ja. Az értékeket a T_EVFOLYAMTIPUS szótár táblából veszi. Pl.: 10 gimnázium, összevont osztály, 9. technikum, stb… /// [EntityProperty("RogziteskoriEvfolyamTipusId", EntityPropertyBaseType.ValueType, typeof(int /* DictionaryItem */), EntityCopyMethod.ShallowCopy)] [EntityDictionaryItemProperty("RogziteskoriEvfolyamTipusId", "EvfolyamTipus", typeof(SDA.Kreta.Entities.EvfolyamTipus))] public virtual int? /* DictionaryItem */ RogziteskoriEvfolyamTipusId { get { return m_RogziteskoriEvfolyamTipusId; } set { CheckModifyable(); if (m_RogziteskoriEvfolyamTipusId == value) return; m_RogziteskoriEvfolyamTipusId = value; FieldModified("RogziteskoriEvfolyamTipusId", value); } } #endregion #region RogzitesDatum protected internal DateTime m_RogzitesDatum; /// /// Az értékelés rögzítésének a dátuma, hogy melyik napon adták az értékelést. /// [EntityProperty("RogzitesDatum", EntityPropertyBaseType.ValueType, typeof(DateTime), EntityCopyMethod.ShallowCopy)] public virtual DateTime RogzitesDatum { get { return m_RogzitesDatum; } set { CheckModifyable(); if (m_RogzitesDatum == value) return; m_RogzitesDatum = value; FieldModified("RogzitesDatum", value); } } #endregion #region Szazalek protected internal int? m_Szazalek; /// /// Az értékelés százalékos értéke. Ennek az értéke csak és kizárólag az alábbi intervallum lehet: [0,100]. A C_OSZTALYZATTIPUS, a C_SZOVEG és a C_SZAZALEK mezők közül csak egy kaphat értéket, a többi minden esetben NULL. /// [EntityProperty("Szazalek", EntityPropertyBaseType.ValueType, typeof(int), EntityCopyMethod.ShallowCopy)] public virtual int? Szazalek { get { return m_Szazalek; } set { CheckModifyable(); if (m_Szazalek == value) return; m_Szazalek = value; FieldModified("Szazalek", value); } } #endregion #region Szoveg protected internal string m_Szoveg; /// /// Az értékelés szövege HTML és/vagy WYSIWYG editor formázása nélkül. A C_OSZTALYZATTIPUS, a C_SZOVEG és a C_SZAZALEK mezők közül csak egy kaphat értéket, a többi minden esetben NULL. /// [EntityProperty("Szoveg", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)] public virtual string Szoveg { get { return m_Szoveg; } set { CheckModifyable(); if (m_Szoveg == value) return; m_Szoveg = value; FieldModified("Szoveg", value); } } #endregion #region SzovegFormazott protected internal string m_SzovegFormazott; /// /// Az értékelés szövege HTML és/vagy WYSIWYG editor formázásával. Ha a C_SZOVEG NULL, akkor a C_SZOVEGFORMAZOTT és a C_SZOVEGROVIDNEV is NULL kell, hogy legyen. /// [EntityProperty("SzovegFormazott", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)] public virtual string SzovegFormazott { get { return m_SzovegFormazott; } set { CheckModifyable(); if (m_SzovegFormazott == value) return; m_SzovegFormazott = value; FieldModified("SzovegFormazott", value); } } #endregion #region SzovegRovidNev protected internal string m_SzovegRovidNev; /// /// Az értékelés szöveg rövid neve. Ha a C_SZOVEG NULL, akkor a C_SZOVEGFORMAZOTT és a C_SZOVEGROVIDNEV is NULL kell, hogy legyen. /// [EntityProperty("SzovegRovidNev", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)] public virtual string SzovegRovidNev { get { return m_SzovegRovidNev; } set { CheckModifyable(); if (m_SzovegRovidNev == value) return; m_SzovegRovidNev = value; FieldModified("SzovegRovidNev", value); } } #endregion #region Tema protected internal string m_Tema; /// /// Az értékelés témája. /// [EntityProperty("Tema", EntityPropertyBaseType.ValueType, typeof(string), EntityCopyMethod.ShallowCopy)] public virtual string Tema { get { return m_Tema; } set { CheckModifyable(); if (m_Tema == value) return; m_Tema = value; FieldModified("Tema", value); } } #endregion #endregion #region Asszociációkkal kapcsolatos dolgok protected internal virtual bool LoadByErtekelesTantargyiNyelvId(int id) { return m_DA.LoadByErtekelesTantargyiNyelvId(id, this); } #region ErtekelesTantargyi (*) -> Tantargy (1) protected internal int m_TantargyId = -1; /// /// A(z) Tantargy 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 TantargyId { get { return InternalTantargyId; } set { InternalTantargyId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalTantargyId { get { if (m_Tantargy != null) { return m_Tantargy.ID; } else { return m_TantargyId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_TantargyId != value) { m_TantargyId = value; m_Tantargy = null; FieldModified("TantargyId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyTantargy(Tantargy value) { m_TantargyId = value != null ? value.ID : -1; m_Tantargy = value; FieldModified("TantargyId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetTantargy(Tantargy value) { m_Tantargy = value; if (value != null) { m_TantargyId = value.ID; } else { m_TantargyId = -1; } } protected Tantargy m_Tantargy = null; ITantargy IErtekelesTantargyi.Tantargy { get { return Tantargy; } set { Tantargy = value as Tantargy; } } /// /// Az értékelés tantárgyának az ID-ja, hogy melyik tantárgyból kapta a tanuló az értékelést. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és Tantargy entitások közötti asszociáció megvalósítása. /// [EntityProperty("Tantargy", EntityPropertyBaseType.Entity, typeof(Tantargy), EntityCopyMethod.ShallowCopy)] public virtual Tantargy Tantargy { get { if ((m_Tantargy == null) && (m_TantargyId != -1)) { SDA.Kreta.Entities.Tantargy partner = SDA.Kreta.Entities.Tantargy.GiveAnInstance(); partner.LoadByID(m_TantargyId); this.SetTantargy(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_Tantargy; } set { CheckModifyable(); if (value != null) { if ((m_Tantargy == null) || (value.ID != m_Tantargy.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.Tantargy_ErtekelesTantargyi_DA da = new Tantargy_ErtekelesTantargyi_DA(value); da.AddItem(this); this.SetTantargy(value); } else { this.SetTantargy(value); } FieldModified("TantargyId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetTantargy(null); UpdateAssociations(); FieldModified("TantargyId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (*) -> OsztalyCsoport (0..1) protected internal int m_RogziteskoriOsztalyId = -1; /// /// A(z) RogziteskoriOsztaly 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 RogziteskoriOsztalyId { get { return InternalRogziteskoriOsztalyId; } set { InternalRogziteskoriOsztalyId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalRogziteskoriOsztalyId { get { if (m_RogziteskoriOsztaly != null) { return m_RogziteskoriOsztaly.ID; } else { return m_RogziteskoriOsztalyId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_RogziteskoriOsztalyId != value) { m_RogziteskoriOsztalyId = value; m_RogziteskoriOsztaly = null; FieldModified("RogziteskoriOsztalyId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyRogziteskoriOsztaly(OsztalyCsoport value) { m_RogziteskoriOsztalyId = value != null ? value.ID : -1; m_RogziteskoriOsztaly = value; FieldModified("RogziteskoriOsztalyId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetRogziteskoriOsztaly(OsztalyCsoport value) { m_RogziteskoriOsztaly = value; if (value != null) { m_RogziteskoriOsztalyId = value.ID; } else { m_RogziteskoriOsztalyId = -1; } } protected OsztalyCsoport m_RogziteskoriOsztaly = null; IOsztalyCsoport IErtekelesTantargyi.RogziteskoriOsztaly { get { return RogziteskoriOsztaly; } set { RogziteskoriOsztaly = value as OsztalyCsoport; } } /// /// Az értékelés rögzítésekor az adott tanulónak (C_TANULOID) az aktuális osztályának az ID-ja. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és OsztalyCsoport entitások közötti asszociáció megvalósítása. /// [EntityProperty("RogziteskoriOsztaly", EntityPropertyBaseType.Entity, typeof(OsztalyCsoport), EntityCopyMethod.ShallowCopy)] public virtual OsztalyCsoport RogziteskoriOsztaly { get { if ((m_RogziteskoriOsztaly == null) && (m_RogziteskoriOsztalyId != -1)) { SDA.Kreta.Entities.OsztalyCsoport partner = SDA.Kreta.Entities.OsztalyCsoport.GiveAnInstance(); partner.LoadByID(m_RogziteskoriOsztalyId); this.SetRogziteskoriOsztaly(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_RogziteskoriOsztaly; } set { CheckModifyable(); if (value != null) { if ((m_RogziteskoriOsztaly == null) || (value.ID != m_RogziteskoriOsztaly.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.OsztalyCsoport_RogziteskoriTantargyiErtekelesek_DA da = new OsztalyCsoport_RogziteskoriTantargyiErtekelesek_DA(value); da.AddItem(this); this.SetRogziteskoriOsztaly(value); } else { this.SetRogziteskoriOsztaly(value); } FieldModified("RogziteskoriOsztalyId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetRogziteskoriOsztaly(null); UpdateAssociations(); FieldModified("RogziteskoriOsztalyId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (*) -> Tanulo (1) protected internal int m_TanuloId = -1; /// /// A(z) Tanulo 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 TanuloId { get { return InternalTanuloId; } set { InternalTanuloId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalTanuloId { get { if (m_Tanulo != null) { return m_Tanulo.ID; } else { return m_TanuloId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_TanuloId != value) { m_TanuloId = value; m_Tanulo = null; FieldModified("TanuloId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyTanulo(Tanulo value) { m_TanuloId = value != null ? value.ID : -1; m_Tanulo = value; FieldModified("TanuloId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetTanulo(Tanulo value) { m_Tanulo = value; if (value != null) { m_TanuloId = value.ID; } else { m_TanuloId = -1; } } protected Tanulo m_Tanulo = null; ITanulo IErtekelesTantargyi.Tanulo { get { return Tanulo; } set { Tanulo = value as Tanulo; } } /// /// Az értékelés tanulójának az ID-ja. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és Tanulo entitások közötti asszociáció megvalósítása. /// [EntityProperty("Tanulo", EntityPropertyBaseType.Entity, typeof(Tanulo), EntityCopyMethod.ShallowCopy)] public virtual Tanulo Tanulo { get { if ((m_Tanulo == null) && (m_TanuloId != -1)) { SDA.Kreta.Entities.Tanulo partner = SDA.Kreta.Entities.Tanulo.GiveAnInstance(); partner.LoadByID(m_TanuloId); this.SetTanulo(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_Tanulo; } set { CheckModifyable(); if (value != null) { if ((m_Tanulo == null) || (value.ID != m_Tanulo.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.Tanulo_ErtekelesTantargyi_DA da = new Tanulo_ErtekelesTantargyi_DA(value); da.AddItem(this); this.SetTanulo(value); } else { this.SetTanulo(value); } FieldModified("TanuloId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetTanulo(null); UpdateAssociations(); FieldModified("TanuloId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (*) -> OsszefuggoSzakGyak (0..1) protected internal int m_OsszefuggoSzakGyakId = -1; /// /// A(z) OsszefuggoSzakGyak 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 OsszefuggoSzakGyakId { get { return InternalOsszefuggoSzakGyakId; } set { InternalOsszefuggoSzakGyakId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalOsszefuggoSzakGyakId { get { if (m_OsszefuggoSzakGyak != null) { return m_OsszefuggoSzakGyak.ID; } else { return m_OsszefuggoSzakGyakId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_OsszefuggoSzakGyakId != value) { m_OsszefuggoSzakGyakId = value; m_OsszefuggoSzakGyak = null; FieldModified("OsszefuggoSzakGyakId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyOsszefuggoSzakGyak(OsszefuggoSzakGyak value) { m_OsszefuggoSzakGyakId = value != null ? value.ID : -1; m_OsszefuggoSzakGyak = value; FieldModified("OsszefuggoSzakGyakId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetOsszefuggoSzakGyak(OsszefuggoSzakGyak value) { m_OsszefuggoSzakGyak = value; if (value != null) { m_OsszefuggoSzakGyakId = value.ID; } else { m_OsszefuggoSzakGyakId = -1; } } protected OsszefuggoSzakGyak m_OsszefuggoSzakGyak = null; IOsszefuggoSzakGyak IErtekelesTantargyi.OsszefuggoSzakGyak { get { return OsszefuggoSzakGyak; } set { OsszefuggoSzakGyak = value as OsszefuggoSzakGyak; } } /// /// Az értékelés összefüggő (egybefüggő) szakmai gyakorlatának az ID-ja. Csak szakmai gyakorlat mentésekor töltődik, mivel azokhoz lehet értékeléseket is felvenni. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és OsszefuggoSzakGyak entitások közötti asszociáció megvalósítása. /// [EntityProperty("OsszefuggoSzakGyak", EntityPropertyBaseType.Entity, typeof(OsszefuggoSzakGyak), EntityCopyMethod.ShallowCopy)] public virtual OsszefuggoSzakGyak OsszefuggoSzakGyak { get { if ((m_OsszefuggoSzakGyak == null) && (m_OsszefuggoSzakGyakId != -1)) { SDA.Kreta.Entities.OsszefuggoSzakGyak partner = SDA.Kreta.Entities.OsszefuggoSzakGyak.GiveAnInstance(); partner.LoadByID(m_OsszefuggoSzakGyakId); this.SetOsszefuggoSzakGyak(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_OsszefuggoSzakGyak; } set { CheckModifyable(); if (value != null) { if ((m_OsszefuggoSzakGyak == null) || (value.ID != m_OsszefuggoSzakGyak.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.OsszefuggoSzakGyak_ErtekelesTantargyi_DA da = new OsszefuggoSzakGyak_ErtekelesTantargyi_DA(value); da.AddItem(this); this.SetOsszefuggoSzakGyak(value); } else { this.SetOsszefuggoSzakGyak(value); } FieldModified("OsszefuggoSzakGyakId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetOsszefuggoSzakGyak(null); UpdateAssociations(); FieldModified("OsszefuggoSzakGyakId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (*) -> Alkalmazott (1) protected internal int m_RogzitoAlkalmazottId = -1; /// /// A(z) RogzitoAlkalmazott 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 RogzitoAlkalmazottId { get { return InternalRogzitoAlkalmazottId; } set { InternalRogzitoAlkalmazottId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalRogzitoAlkalmazottId { get { if (m_RogzitoAlkalmazott != null) { return m_RogzitoAlkalmazott.ID; } else { return m_RogzitoAlkalmazottId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_RogzitoAlkalmazottId != value) { m_RogzitoAlkalmazottId = value; m_RogzitoAlkalmazott = null; FieldModified("RogzitoAlkalmazottId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyRogzitoAlkalmazott(Alkalmazott value) { m_RogzitoAlkalmazottId = value != null ? value.ID : -1; m_RogzitoAlkalmazott = value; FieldModified("RogzitoAlkalmazottId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetRogzitoAlkalmazott(Alkalmazott value) { m_RogzitoAlkalmazott = value; if (value != null) { m_RogzitoAlkalmazottId = value.ID; } else { m_RogzitoAlkalmazottId = -1; } } protected Alkalmazott m_RogzitoAlkalmazott = null; IAlkalmazott IErtekelesTantargyi.RogzitoAlkalmazott { get { return RogzitoAlkalmazott; } set { RogzitoAlkalmazott = value as Alkalmazott; } } /// /// Az értékelést rögzítő alkalmazottnak az ID-ja. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és Alkalmazott entitások közötti asszociáció megvalósítása. /// [EntityProperty("RogzitoAlkalmazott", EntityPropertyBaseType.Entity, typeof(Alkalmazott), EntityCopyMethod.ShallowCopy)] public virtual Alkalmazott RogzitoAlkalmazott { get { if ((m_RogzitoAlkalmazott == null) && (m_RogzitoAlkalmazottId != -1)) { SDA.Kreta.Entities.Alkalmazott partner = SDA.Kreta.Entities.Alkalmazott.GiveAnInstance(); partner.LoadByID(m_RogzitoAlkalmazottId); this.SetRogzitoAlkalmazott(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_RogzitoAlkalmazott; } set { CheckModifyable(); if (value != null) { if ((m_RogzitoAlkalmazott == null) || (value.ID != m_RogzitoAlkalmazott.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_RogzitettTantargyiErtekelesek_DA da = new Alkalmazott_RogzitettTantargyiErtekelesek_DA(value); da.AddItem(this); this.SetRogzitoAlkalmazott(value); } else { this.SetRogzitoAlkalmazott(value); } FieldModified("RogzitoAlkalmazottId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetRogzitoAlkalmazott(null); UpdateAssociations(); FieldModified("RogzitoAlkalmazottId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (*) -> OsztalyCsoport (1) protected internal int m_OsztalyCsoportId = -1; /// /// A(z) OsztalyCsoport 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 OsztalyCsoportId { get { return InternalOsztalyCsoportId; } set { InternalOsztalyCsoportId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalOsztalyCsoportId { get { if (m_OsztalyCsoport != null) { return m_OsztalyCsoport.ID; } else { return m_OsztalyCsoportId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_OsztalyCsoportId != value) { m_OsztalyCsoportId = value; m_OsztalyCsoport = null; FieldModified("OsztalyCsoportId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyOsztalyCsoport(OsztalyCsoport value) { m_OsztalyCsoportId = value != null ? value.ID : -1; m_OsztalyCsoport = value; FieldModified("OsztalyCsoportId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetOsztalyCsoport(OsztalyCsoport value) { m_OsztalyCsoport = value; if (value != null) { m_OsztalyCsoportId = value.ID; } else { m_OsztalyCsoportId = -1; } } protected OsztalyCsoport m_OsztalyCsoport = null; IOsztalyCsoport IErtekelesTantargyi.OsztalyCsoport { get { return OsztalyCsoport; } set { OsztalyCsoport = value as OsztalyCsoport; } } /// /// Az értékelés osztály-/csoportjának az ID-ja, hogy melyik osztály-/csoportban kapta a tanuló az értékelést. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és OsztalyCsoport entitások közötti asszociáció megvalósítása. /// [EntityProperty("OsztalyCsoport", EntityPropertyBaseType.Entity, typeof(OsztalyCsoport), EntityCopyMethod.ShallowCopy)] public virtual OsztalyCsoport OsztalyCsoport { get { if ((m_OsztalyCsoport == null) && (m_OsztalyCsoportId != -1)) { SDA.Kreta.Entities.OsztalyCsoport partner = SDA.Kreta.Entities.OsztalyCsoport.GiveAnInstance(); partner.LoadByID(m_OsztalyCsoportId); this.SetOsztalyCsoport(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_OsztalyCsoport; } set { CheckModifyable(); if (value != null) { if ((m_OsztalyCsoport == null) || (value.ID != m_OsztalyCsoport.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.OsztalyCsoport_ErtekelesTantargyi_DA da = new OsztalyCsoport_ErtekelesTantargyi_DA(value); da.AddItem(this); this.SetOsztalyCsoport(value); } else { this.SetOsztalyCsoport(value); } FieldModified("OsztalyCsoportId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetOsztalyCsoport(null); UpdateAssociations(); FieldModified("OsztalyCsoportId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (*) -> Intezmeny (1) protected internal int m_IntezmenyId = -1; /// /// A(z) Intezmeny 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 IntezmenyId { get { return InternalIntezmenyId; } set { InternalIntezmenyId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalIntezmenyId { get { if (m_Intezmeny != null) { return m_Intezmeny.ID; } else { return m_IntezmenyId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_IntezmenyId != value) { m_IntezmenyId = value; m_Intezmeny = null; FieldModified("IntezmenyId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyIntezmeny(Intezmeny value) { m_IntezmenyId = value != null ? value.ID : -1; m_Intezmeny = value; FieldModified("IntezmenyId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetIntezmeny(Intezmeny value) { m_Intezmeny = value; if (value != null) { m_IntezmenyId = value.ID; } else { m_IntezmenyId = -1; } } protected Intezmeny m_Intezmeny = null; IIntezmeny IErtekelesTantargyi.Intezmeny { get { return Intezmeny; } set { Intezmeny = value as Intezmeny; } } /// /// Nincs definiálva megjegyzés. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és Intezmeny entitások közötti asszociáció megvalósítása. /// [EntityProperty("Intezmeny", EntityPropertyBaseType.Entity, typeof(Intezmeny), EntityCopyMethod.ShallowCopy)] public virtual Intezmeny Intezmeny { get { if ((m_Intezmeny == null) && (m_IntezmenyId != -1)) { SDA.Kreta.Entities.Intezmeny partner = SDA.Kreta.Entities.Intezmeny.GiveAnInstance(); partner.LoadByID(m_IntezmenyId); this.SetIntezmeny(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_Intezmeny; } set { CheckModifyable(); if (value != null) { if ((m_Intezmeny == null) || (value.ID != m_Intezmeny.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_ErtekelesTantargyi_DA da = new Intezmeny_ErtekelesTantargyi_DA(value); da.AddItem(this); this.SetIntezmeny(value); } else { this.SetIntezmeny(value); } FieldModified("IntezmenyId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetIntezmeny(null); UpdateAssociations(); FieldModified("IntezmenyId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (*) -> Tanev (1) protected internal int m_TanevId = -1; /// /// A(z) Tanev 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 TanevId { get { return InternalTanevId; } set { InternalTanevId = value; } } /// /// Ez egy külön bejárat a DA számára /// internal int InternalTanevId { get { if (m_Tanev != null) { return m_Tanev.ID; } else { return m_TanevId;// XXX az meg nem teljesen OK } } set { CheckModifyable(); if (m_TanevId != value) { m_TanevId = value; m_Tanev = null; FieldModified("TanevId", value); } } } /// /// Ez egy külön bejárat a DA számára /// internal void ModifyTanev(Tanev value) { m_TanevId = value != null ? value.ID : -1; m_Tanev = value; FieldModified("TanevId", value != null ? (object)value.ID : DBNull.Value); } protected internal void SetTanev(Tanev value) { m_Tanev = value; if (value != null) { m_TanevId = value.ID; } else { m_TanevId = -1; } } protected Tanev m_Tanev = null; ITanev IErtekelesTantargyi.Tanev { get { return Tanev; } set { Tanev = value as Tanev; } } /// /// Nincs definiálva megjegyzés. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és Tanev entitások közötti asszociáció megvalósítása. /// [EntityProperty("Tanev", EntityPropertyBaseType.Entity, typeof(Tanev), EntityCopyMethod.ShallowCopy)] public virtual Tanev Tanev { get { if ((m_Tanev == null) && (m_TanevId != -1)) { SDA.Kreta.Entities.Tanev partner = SDA.Kreta.Entities.Tanev.GiveAnInstance(); partner.LoadByID(m_TanevId); this.SetTanev(partner); } // természetesen null-t adunk vissza, ha nem tudtunk felhozni semmit return m_Tanev; } set { CheckModifyable(); if (value != null) { if ((m_Tanev == null) || (value.ID != m_Tanev.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_ErtekelesTantargyi_DA da = new Tanev_ErtekelesTantargyi_DA(value); da.AddItem(this); this.SetTanev(value); } else { this.SetTanev(value); } FieldModified("TanevId", value.ID); } } else { // ki kell törölni a kapcsolatot az adatbázisban this.SetTanev(null); UpdateAssociations(); FieldModified("TanevId", DBNull.Value); } } } #endregion #region ErtekelesTantargyi (1) -> ErtekelesTantargyiNyelv (*) protected IAssociatedEntityCollection m_ErtekelesTantargyiNyelv = null; IReadOnlyList IErtekelesTantargyi.ErtekelesTantargyiNyelv => ErtekelesTantargyiNyelv.Cast().ToList(); /// /// A tantárgyi értékelés ID-ja. /// /// /// Az UML modellben szereplő ErtekelesTantargyi és ErtekelesTantargyiNyelv entitások közötti asszociáció megvalósítása. /// [EntityProperty("ErtekelesTantargyiNyelv", EntityPropertyBaseType.EntityCollection, typeof(IAssociatedEntityCollection), EntityCopyMethod.DeepCopy, "ErtekelesTantargyiId")] public virtual IAssociatedEntityCollection ErtekelesTantargyiNyelv { get { if (m_ErtekelesTantargyiNyelv == null) { m_ErtekelesTantargyiNyelv = new AssociatedEntityCollection( new ErtekelesTantargyi_ErtekelesTantargyiNyelv_DA(this) ); m_ErtekelesTantargyiNyelv.Load(); } return m_ErtekelesTantargyiNyelv; } } #endregion #endregion #endregion } }