using System; using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.Framework; using Kreta.Framework.Collections; using Kreta.Framework.Collections.Generic; using Kreta.Framework.Entities; using Kreta.Framework.Entities.Associations; using Kreta.Framework.Entities.Generic; namespace SDA.Kreta.Entities { internal sealed class TeremDBHelper : EntityDBHelper { private Dictionary dynamicColumns = new Dictionary() { { "Aktiv", "T_TEREM_OSSZES.C_AKTIV" }, { "Jelleg", "T_TEREM_OSSZES.C_JELLEG" }, { "Kapacitas", "T_TEREM_OSSZES.C_KAPACITAS" }, { "Nev", "T_TEREM_OSSZES.C_NEV" }, { "Terulet", "T_TEREM_OSSZES.C_TERULET" }, { "TobbOratLehetTartani", "T_TEREM_OSSZES.C_TOBBORATLEHETTARTANI" }, { "VizsgaKapacitas", "T_TEREM_OSSZES.C_VIZSGAKAPACITAS" }, { "WiFiLefedett", "T_TEREM_OSSZES.C_WIFILEFEDETT" }, { "Importalt", "T_TEREM_OSSZES.C_IMPORTALT" }, { "Ar", "T_TEREM_OSSZES.C_AR" }, { "Berbeadhato", "T_TEREM_OSSZES.C_BERBEADHATO" }, { "FoglalhatoIdoszakKezdete", "T_TEREM_OSSZES.C_FOGLALHATOIDOSZAKKEZDETE" }, { "FoglalhatoIdoszakVege", "T_TEREM_OSSZES.C_FOGLALHATOIDOSZAKVEGE" }, { "Leiras", "T_TEREM_OSSZES.C_LEIRAS" }, { "Megjegyzes", "T_TEREM_OSSZES.C_MEGJEGYZES" }, { "EgyediAzonosito", "T_TEREM_OSSZES.C_EGYEDIAZONOSITO" }, { "Emeltar", "T_TEREM_OSSZES.C_EMELTAR" }, { "EmeltarKezdeteOraPerc", "T_TEREM_OSSZES.C_EMELTARKEZDETEORAPERC" }, { "TulajdonTipusId", "T_TEREM_OSSZES.C_TULAJDONTIPUSID" }, { "IsInteraktTablavalMunkaAllomassalFelszerelt", "T_TEREM_OSSZES.C_ISINTERAKTTABLAVALMUNKAALLOM" }, { "IsInternetKapcsolatElerheto", "T_TEREM_OSSZES.C_ISINTERNETKAPCSOLATELERHETO" }, { "OktCelraHasznaltSzamitogepekSzama", "T_TEREM_OSSZES.C_OKTCELRAHASZNALTSZAMITOGEPEK" }, { "PedagogusHozzaferhInternetesGep", "T_TEREM_OSSZES.C_PEDAGOGUSHOZZAFERHINTERNETES" }, { "TanulokSzamaraHozzaferhInternetesGep", "T_TEREM_OSSZES.C_TANULOKSZAMARAHOZZAFERHINTER" }, { "DualisKepzohelyAdoszama", "T_TEREM_OSSZES.C_DUALISKEPZOHELYADOSZAMA" }, { "DualisKepzohelyNeve", "T_TEREM_OSSZES.C_DUALISKEPZOHELYNEVE" }, { "DualisHelyszinTipusId", "T_TEREM_OSSZES.C_DUALISHELYSZINTIPUSID" }, }; private const string dynamicQueryCommandText = "select " + "T_TEREM_OSSZES.ID, " + "{COLUMNS}" + // Terem betöltése // Terem kapcsoló mezői "T_TEREM_OSSZES.C_MUKODESIHELYID, " + /* Opcionális asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_TEREMFELELOSID, " + /* Opcionális asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_SZERVEZETID, " + /* Opcionális asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_INTEZMENYID, " + /* Kötelező asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_TANEVID, " + /* Kötelező asszociációs kapcsolómező */ "T_TEREM_OSSZES.TOROLT, " + "T_TEREM_OSSZES.SERIAL, " + "T_TEREM_OSSZES.CREATED, " + "T_TEREM_OSSZES.CREATOR, " + "T_TEREM_OSSZES.LASTCHANGED, " + "T_TEREM_OSSZES.MODIFIER " + "from " + "T_TEREM_OSSZES " + "where " + "(1 = 1) "; private const string emptyQueryCommandText = "select " + "T_TEREM_OSSZES.ID, " + // Terem betöltése // Terem mezői "T_TEREM_OSSZES.C_AKTIV, " + "T_TEREM_OSSZES.C_JELLEG, " + "T_TEREM_OSSZES.C_KAPACITAS, " + "T_TEREM_OSSZES.C_NEV, " + "T_TEREM_OSSZES.C_TERULET, " + "T_TEREM_OSSZES.C_TOBBORATLEHETTARTANI, " + "T_TEREM_OSSZES.C_VIZSGAKAPACITAS, " + "T_TEREM_OSSZES.C_WIFILEFEDETT, " + "T_TEREM_OSSZES.C_IMPORTALT, " + "T_TEREM_OSSZES.C_AR, " + "T_TEREM_OSSZES.C_BERBEADHATO, " + "T_TEREM_OSSZES.C_FOGLALHATOIDOSZAKKEZDETE, " + "T_TEREM_OSSZES.C_FOGLALHATOIDOSZAKVEGE, " + "T_TEREM_OSSZES.C_LEIRAS, " + "T_TEREM_OSSZES.C_MEGJEGYZES, " + "T_TEREM_OSSZES.C_EGYEDIAZONOSITO, " + "T_TEREM_OSSZES.C_EMELTAR, " + "T_TEREM_OSSZES.C_EMELTARKEZDETEORAPERC, " + "T_TEREM_OSSZES.C_TULAJDONTIPUSID, " + "T_TEREM_OSSZES.C_ISINTERAKTTABLAVALMUNKAALLOM, " + "T_TEREM_OSSZES.C_ISINTERNETKAPCSOLATELERHETO, " + "T_TEREM_OSSZES.C_OKTCELRAHASZNALTSZAMITOGEPEK, " + "T_TEREM_OSSZES.C_PEDAGOGUSHOZZAFERHINTERNETES, " + "T_TEREM_OSSZES.C_TANULOKSZAMARAHOZZAFERHINTER, " + "T_TEREM_OSSZES.C_DUALISKEPZOHELYADOSZAMA, " + "T_TEREM_OSSZES.C_DUALISKEPZOHELYNEVE, " + "T_TEREM_OSSZES.C_DUALISHELYSZINTIPUSID, " + // Terem kapcsoló mezői "T_TEREM_OSSZES.C_MUKODESIHELYID, " + /* Opcionális asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_TEREMFELELOSID, " + /* Opcionális asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_SZERVEZETID, " + /* Opcionális asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_INTEZMENYID, " + /* Kötelező asszociációs kapcsolómező */ "T_TEREM_OSSZES.C_TANEVID, " + /* Kötelező asszociációs kapcsolómező */ "T_TEREM_OSSZES.TOROLT, " + "T_TEREM_OSSZES.SERIAL, " + "T_TEREM_OSSZES.CREATED, " + "T_TEREM_OSSZES.CREATOR, " + "T_TEREM_OSSZES.LASTCHANGED, " + "T_TEREM_OSSZES.MODIFIER " + "from " + "T_TEREM_OSSZES " + "where " + "(1 = 1) "; public override string EmptyQueryCommandText { get { return emptyQueryCommandText; } } public override string DynamicQueryCommandText { get { return dynamicQueryCommandText; } } public override IDictionary DynamicColumns { get { return dynamicColumns; } } protected override Terem CreateEntityInstance() { return Terem.GiveAnInstance(); } #region Lekérdezés public override void LoadEntityFields(Terem entity, SDA.DataProvider.SDADataReader reader) { // Terem betöltése // Terem mezői entity.m_Aktiv = DAUtil.ReadBooleanAttribute(reader, 1, true); entity.m_Jelleg = DAUtil.ReadIntegerAttribute(reader, 2, -1); entity.m_Kapacitas = DAUtil.ReadIntegerAttribute(reader, 3); entity.m_Nev = DAUtil.ReadStringAttribute(reader, 4, ""); entity.m_Terulet = DAUtil.ReadIntegerAttribute(reader, 5); entity.m_TobbOratLehetTartani = DAUtil.ReadBooleanAttribute(reader, 6, false); entity.m_VizsgaKapacitas = DAUtil.ReadIntegerAttribute(reader, 7); entity.m_WiFiLefedett = DAUtil.ReadBooleanAttribute(reader, 8, false); entity.m_Importalt = DAUtil.ReadBooleanAttribute(reader, 9, false); entity.m_Ar = DAUtil.ReadIntegerAttribute(reader, 10); entity.m_Berbeadhato = DAUtil.ReadBooleanAttribute(reader, 11, false); entity.m_FoglalhatoIdoszakKezdete = DAUtil.ReadDateTimeAttribute(reader, 12); entity.m_FoglalhatoIdoszakVege = DAUtil.ReadDateTimeAttribute(reader, 13); entity.m_Leiras = DAUtil.ReadStringAttribute(reader, 14); entity.m_Megjegyzes = DAUtil.ReadStringAttribute(reader, 15); entity.m_EgyediAzonosito = DAUtil.ReadGuidAttribute(reader, 16); entity.m_Emeltar = DAUtil.ReadIntegerAttribute(reader, 17); entity.m_EmeltarKezdeteOraPerc = DAUtil.ReadDateTimeAttribute(reader, 18); entity.m_TulajdonTipusId = DAUtil.ReadIntegerAttribute(reader, 19); entity.m_IsInteraktTablavalMunkaAllomassalFelszerelt = DAUtil.ReadBooleanAttribute(reader, 20, false); entity.m_IsInternetKapcsolatElerheto = DAUtil.ReadBooleanAttribute(reader, 21, false); entity.m_OktCelraHasznaltSzamitogepekSzama = DAUtil.ReadIntegerAttribute(reader, 22); entity.m_PedagogusHozzaferhInternetesGep = DAUtil.ReadIntegerAttribute(reader, 23); entity.m_TanulokSzamaraHozzaferhInternetesGep = DAUtil.ReadIntegerAttribute(reader, 24); entity.m_DualisKepzohelyAdoszama = DAUtil.ReadStringAttribute(reader, 25); entity.m_DualisKepzohelyNeve = DAUtil.ReadStringAttribute(reader, 26); entity.m_DualisHelyszinTipusId = DAUtil.ReadIntegerAttribute(reader, 27); // Terem kapcsoló mezői DAUtil.ReadIDAttribute(reader, 28, ref entity.m_MukodesiHelyId, -1); DAUtil.ReadIDAttribute(reader, 29, ref entity.m_TeremFelelosId, -1); DAUtil.ReadIDAttribute(reader, 30, ref entity.m_SzervezetId, -1); DAUtil.ReadIDAttribute(reader, 31, ref entity.m_IntezmenyId, 0); DAUtil.ReadIDAttribute(reader, 32, ref entity.m_TanevId, 0); } public override void LoadEntityFields(Terem entity, SDA.DataProvider.SDADataReader reader, ColumnFilterMode columnFilterMode, IEnumerable columns) { int index = 1; if (columns == null) { columns = new List(index); } // Terem betöltése // Terem mezői if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Aktiv")))) { entity.m_Aktiv = DAUtil.ReadBooleanAttribute(reader, index++, true); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Jelleg")))) { entity.m_Jelleg = DAUtil.ReadIntegerAttribute(reader, index++, -1); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Kapacitas")))) { entity.m_Kapacitas = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Nev")))) { entity.m_Nev = DAUtil.ReadStringAttribute(reader, index++, ""); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Terulet")))) { entity.m_Terulet = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("TobbOratLehetTartani")))) { entity.m_TobbOratLehetTartani = DAUtil.ReadBooleanAttribute(reader, index++, false); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("VizsgaKapacitas")))) { entity.m_VizsgaKapacitas = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("WiFiLefedett")))) { entity.m_WiFiLefedett = DAUtil.ReadBooleanAttribute(reader, index++, false); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Importalt")))) { entity.m_Importalt = DAUtil.ReadBooleanAttribute(reader, index++, false); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Ar")))) { entity.m_Ar = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Berbeadhato")))) { entity.m_Berbeadhato = DAUtil.ReadBooleanAttribute(reader, index++, false); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("FoglalhatoIdoszakKezdete")))) { entity.m_FoglalhatoIdoszakKezdete = DAUtil.ReadDateTimeAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("FoglalhatoIdoszakVege")))) { entity.m_FoglalhatoIdoszakVege = DAUtil.ReadDateTimeAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Leiras")))) { entity.m_Leiras = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Megjegyzes")))) { entity.m_Megjegyzes = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("EgyediAzonosito")))) { entity.m_EgyediAzonosito = DAUtil.ReadGuidAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Emeltar")))) { entity.m_Emeltar = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("EmeltarKezdeteOraPerc")))) { entity.m_EmeltarKezdeteOraPerc = DAUtil.ReadDateTimeAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("TulajdonTipusId")))) { entity.m_TulajdonTipusId = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("IsInteraktTablavalMunkaAllomassalFelszerelt")))) { entity.m_IsInteraktTablavalMunkaAllomassalFelszerelt = DAUtil.ReadBooleanAttribute(reader, index++, false); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("IsInternetKapcsolatElerheto")))) { entity.m_IsInternetKapcsolatElerheto = DAUtil.ReadBooleanAttribute(reader, index++, false); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("OktCelraHasznaltSzamitogepekSzama")))) { entity.m_OktCelraHasznaltSzamitogepekSzama = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("PedagogusHozzaferhInternetesGep")))) { entity.m_PedagogusHozzaferhInternetesGep = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("TanulokSzamaraHozzaferhInternetesGep")))) { entity.m_TanulokSzamaraHozzaferhInternetesGep = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("DualisKepzohelyAdoszama")))) { entity.m_DualisKepzohelyAdoszama = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("DualisKepzohelyNeve")))) { entity.m_DualisKepzohelyNeve = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("DualisHelyszinTipusId")))) { entity.m_DualisHelyszinTipusId = DAUtil.ReadIntegerAttribute(reader, index++); } // Terem kapcsoló mezői DAUtil.ReadIDAttribute(reader, index++, ref entity.m_MukodesiHelyId, -1); DAUtil.ReadIDAttribute(reader, index++, ref entity.m_TeremFelelosId, -1); DAUtil.ReadIDAttribute(reader, index++, ref entity.m_SzervezetId, -1); DAUtil.ReadIDAttribute(reader, index++, ref entity.m_IntezmenyId, 0); DAUtil.ReadIDAttribute(reader, index++, ref entity.m_TanevId, 0); } #endregion #region Paraméter kötés public override void BindAttributes(Terem entity, SDA.DataProvider.SDACommand command) { DAUtil.BindParameter(command, "pAKTIV", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Aktiv, false); DAUtil.BindParameter(command, "pJELLEG", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Jelleg, false); DAUtil.BindParameter(command, "pKAPACITAS", SDA.DataProvider.SDADBType.Int, entity.m_Kapacitas, entity.m_Kapacitas == null); DAUtil.BindParameter(command, "pNEV", SDA.DataProvider.SDADBType.String, 255, entity.m_Nev, false); DAUtil.BindParameter(command, "pTERULET", SDA.DataProvider.SDADBType.Int, entity.m_Terulet, entity.m_Terulet == null); DAUtil.BindParameter(command, "pTOBBORATLEHETTARTANI", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_TobbOratLehetTartani, false); DAUtil.BindParameter(command, "pVIZSGAKAPACITAS", SDA.DataProvider.SDADBType.Int, entity.m_VizsgaKapacitas, entity.m_VizsgaKapacitas == null); DAUtil.BindParameter(command, "pWIFILEFEDETT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_WiFiLefedett, false); DAUtil.BindParameter(command, "pIMPORTALT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Importalt, false); DAUtil.BindParameter(command, "pAR", SDA.DataProvider.SDADBType.Int, entity.m_Ar, entity.m_Ar == null); DAUtil.BindParameter(command, "pBERBEADHATO", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Berbeadhato, false); DAUtil.BindParameter(command, "pFOGLALHATOIDOSZAKKEZDETE", SDA.DataProvider.SDADBType.DateTime, entity.m_FoglalhatoIdoszakKezdete, entity.m_FoglalhatoIdoszakKezdete == null); DAUtil.BindParameter(command, "pFOGLALHATOIDOSZAKVEGE", SDA.DataProvider.SDADBType.DateTime, entity.m_FoglalhatoIdoszakVege, entity.m_FoglalhatoIdoszakVege == null); DAUtil.BindParameter(command, "pLEIRAS", SDA.DataProvider.SDADBType.LongString, 2147483647, entity.m_Leiras, entity.m_Leiras == null); DAUtil.BindParameter(command, "pMEGJEGYZES", SDA.DataProvider.SDADBType.String, 500, entity.m_Megjegyzes, entity.m_Megjegyzes == null); DAUtil.BindParameter(command, "pEGYEDIAZONOSITO", SDA.DataProvider.SDADBType.Guid, entity.m_EgyediAzonosito, entity.m_EgyediAzonosito == null); DAUtil.BindParameter(command, "pEMELTAR", SDA.DataProvider.SDADBType.Int, entity.m_Emeltar, entity.m_Emeltar == null); DAUtil.BindParameter(command, "pEMELTARKEZDETEORAPERC", SDA.DataProvider.SDADBType.DateTime, entity.m_EmeltarKezdeteOraPerc, entity.m_EmeltarKezdeteOraPerc == null); DAUtil.BindParameter(command, "pTULAJDONTIPUSID", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_TulajdonTipusId, entity.m_TulajdonTipusId == null); DAUtil.BindParameter(command, "pISINTERAKTTABLAVALMUNKAALLOMA", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_IsInteraktTablavalMunkaAllomassalFelszerelt, false); DAUtil.BindParameter(command, "pISINTERNETKAPCSOLATELERHETO", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_IsInternetKapcsolatElerheto, false); DAUtil.BindParameter(command, "pOKTCELRAHASZNALTSZAMITOGEPEKS", SDA.DataProvider.SDADBType.Int, entity.m_OktCelraHasznaltSzamitogepekSzama, entity.m_OktCelraHasznaltSzamitogepekSzama == null); DAUtil.BindParameter(command, "pPEDAGOGUSHOZZAFERHINTERNETESG", SDA.DataProvider.SDADBType.Int, entity.m_PedagogusHozzaferhInternetesGep, entity.m_PedagogusHozzaferhInternetesGep == null); DAUtil.BindParameter(command, "pTANULOKSZAMARAHOZZAFERHINTERN", SDA.DataProvider.SDADBType.Int, entity.m_TanulokSzamaraHozzaferhInternetesGep, entity.m_TanulokSzamaraHozzaferhInternetesGep == null); DAUtil.BindParameter(command, "pDUALISKEPZOHELYADOSZAMA", SDA.DataProvider.SDADBType.String, 20, entity.m_DualisKepzohelyAdoszama, entity.m_DualisKepzohelyAdoszama == null); DAUtil.BindParameter(command, "pDUALISKEPZOHELYNEVE", SDA.DataProvider.SDADBType.String, 255, entity.m_DualisKepzohelyNeve, entity.m_DualisKepzohelyNeve == null); DAUtil.BindParameter(command, "pDUALISHELYSZINTIPUSID", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_DualisHelyszinTipusId, entity.m_DualisHelyszinTipusId == null); } public override void DynamicBindAttributes(Terem entity, SDA.DataProvider.SDACommand command) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (entity.HasChanged("Aktiv")) { sb.Append("C_AKTIV = :pAKTIV,"); DAUtil.BindParameter(command, "pAKTIV", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Aktiv, false); } if (entity.HasChanged("Jelleg")) { sb.Append("C_JELLEG = :pJELLEG,"); DAUtil.BindParameter(command, "pJELLEG", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Jelleg, false); } if (entity.HasChanged("Kapacitas")) { sb.Append("C_KAPACITAS = :pKAPACITAS,"); DAUtil.BindParameter(command, "pKAPACITAS", SDA.DataProvider.SDADBType.Int, entity.m_Kapacitas, entity.m_Kapacitas == null); } if (entity.HasChanged("Nev")) { sb.Append("C_NEV = :pNEV,"); DAUtil.BindParameter(command, "pNEV", SDA.DataProvider.SDADBType.String, 255, entity.m_Nev, false); } if (entity.HasChanged("Terulet")) { sb.Append("C_TERULET = :pTERULET,"); DAUtil.BindParameter(command, "pTERULET", SDA.DataProvider.SDADBType.Int, entity.m_Terulet, entity.m_Terulet == null); } if (entity.HasChanged("TobbOratLehetTartani")) { sb.Append("C_TOBBORATLEHETTARTANI = :pTOBBORATLEHETTARTANI,"); DAUtil.BindParameter(command, "pTOBBORATLEHETTARTANI", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_TobbOratLehetTartani, false); } if (entity.HasChanged("VizsgaKapacitas")) { sb.Append("C_VIZSGAKAPACITAS = :pVIZSGAKAPACITAS,"); DAUtil.BindParameter(command, "pVIZSGAKAPACITAS", SDA.DataProvider.SDADBType.Int, entity.m_VizsgaKapacitas, entity.m_VizsgaKapacitas == null); } if (entity.HasChanged("WiFiLefedett")) { sb.Append("C_WIFILEFEDETT = :pWIFILEFEDETT,"); DAUtil.BindParameter(command, "pWIFILEFEDETT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_WiFiLefedett, false); } if (entity.HasChanged("Importalt")) { sb.Append("C_IMPORTALT = :pIMPORTALT,"); DAUtil.BindParameter(command, "pIMPORTALT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Importalt, false); } if (entity.HasChanged("Ar")) { sb.Append("C_AR = :pAR,"); DAUtil.BindParameter(command, "pAR", SDA.DataProvider.SDADBType.Int, entity.m_Ar, entity.m_Ar == null); } if (entity.HasChanged("Berbeadhato")) { sb.Append("C_BERBEADHATO = :pBERBEADHATO,"); DAUtil.BindParameter(command, "pBERBEADHATO", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Berbeadhato, false); } if (entity.HasChanged("FoglalhatoIdoszakKezdete")) { sb.Append("C_FOGLALHATOIDOSZAKKEZDETE = :pFOGLALHATOIDOSZAKKEZDETE,"); DAUtil.BindParameter(command, "pFOGLALHATOIDOSZAKKEZDETE", SDA.DataProvider.SDADBType.DateTime, entity.m_FoglalhatoIdoszakKezdete, entity.m_FoglalhatoIdoszakKezdete == null); } if (entity.HasChanged("FoglalhatoIdoszakVege")) { sb.Append("C_FOGLALHATOIDOSZAKVEGE = :pFOGLALHATOIDOSZAKVEGE,"); DAUtil.BindParameter(command, "pFOGLALHATOIDOSZAKVEGE", SDA.DataProvider.SDADBType.DateTime, entity.m_FoglalhatoIdoszakVege, entity.m_FoglalhatoIdoszakVege == null); } if (entity.HasChanged("Leiras")) { sb.Append("C_LEIRAS = :pLEIRAS,"); DAUtil.BindParameter(command, "pLEIRAS", SDA.DataProvider.SDADBType.LongString, 2147483647, entity.m_Leiras, entity.m_Leiras == null); } if (entity.HasChanged("Megjegyzes")) { sb.Append("C_MEGJEGYZES = :pMEGJEGYZES,"); DAUtil.BindParameter(command, "pMEGJEGYZES", SDA.DataProvider.SDADBType.String, 500, entity.m_Megjegyzes, entity.m_Megjegyzes == null); } if (entity.HasChanged("EgyediAzonosito")) { sb.Append("C_EGYEDIAZONOSITO = :pEGYEDIAZONOSITO,"); DAUtil.BindParameter(command, "pEGYEDIAZONOSITO", SDA.DataProvider.SDADBType.Guid, entity.m_EgyediAzonosito, entity.m_EgyediAzonosito == null); } if (entity.HasChanged("Emeltar")) { sb.Append("C_EMELTAR = :pEMELTAR,"); DAUtil.BindParameter(command, "pEMELTAR", SDA.DataProvider.SDADBType.Int, entity.m_Emeltar, entity.m_Emeltar == null); } if (entity.HasChanged("EmeltarKezdeteOraPerc")) { sb.Append("C_EMELTARKEZDETEORAPERC = :pEMELTARKEZDETEORAPERC,"); DAUtil.BindParameter(command, "pEMELTARKEZDETEORAPERC", SDA.DataProvider.SDADBType.DateTime, entity.m_EmeltarKezdeteOraPerc, entity.m_EmeltarKezdeteOraPerc == null); } if (entity.HasChanged("TulajdonTipusId")) { sb.Append("C_TULAJDONTIPUSID = :pTULAJDONTIPUSID,"); DAUtil.BindParameter(command, "pTULAJDONTIPUSID", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_TulajdonTipusId, entity.m_TulajdonTipusId == null); } if (entity.HasChanged("IsInteraktTablavalMunkaAllomassalFelszerelt")) { sb.Append("C_ISINTERAKTTABLAVALMUNKAALLOM = :pISINTERAKTTABLAVALMUNKAALLOMA,"); DAUtil.BindParameter(command, "pISINTERAKTTABLAVALMUNKAALLOMA", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_IsInteraktTablavalMunkaAllomassalFelszerelt, false); } if (entity.HasChanged("IsInternetKapcsolatElerheto")) { sb.Append("C_ISINTERNETKAPCSOLATELERHETO = :pISINTERNETKAPCSOLATELERHETO,"); DAUtil.BindParameter(command, "pISINTERNETKAPCSOLATELERHETO", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_IsInternetKapcsolatElerheto, false); } if (entity.HasChanged("OktCelraHasznaltSzamitogepekSzama")) { sb.Append("C_OKTCELRAHASZNALTSZAMITOGEPEK = :pOKTCELRAHASZNALTSZAMITOGEPEKS,"); DAUtil.BindParameter(command, "pOKTCELRAHASZNALTSZAMITOGEPEKS", SDA.DataProvider.SDADBType.Int, entity.m_OktCelraHasznaltSzamitogepekSzama, entity.m_OktCelraHasznaltSzamitogepekSzama == null); } if (entity.HasChanged("PedagogusHozzaferhInternetesGep")) { sb.Append("C_PEDAGOGUSHOZZAFERHINTERNETES = :pPEDAGOGUSHOZZAFERHINTERNETESG,"); DAUtil.BindParameter(command, "pPEDAGOGUSHOZZAFERHINTERNETESG", SDA.DataProvider.SDADBType.Int, entity.m_PedagogusHozzaferhInternetesGep, entity.m_PedagogusHozzaferhInternetesGep == null); } if (entity.HasChanged("TanulokSzamaraHozzaferhInternetesGep")) { sb.Append("C_TANULOKSZAMARAHOZZAFERHINTER = :pTANULOKSZAMARAHOZZAFERHINTERN,"); DAUtil.BindParameter(command, "pTANULOKSZAMARAHOZZAFERHINTERN", SDA.DataProvider.SDADBType.Int, entity.m_TanulokSzamaraHozzaferhInternetesGep, entity.m_TanulokSzamaraHozzaferhInternetesGep == null); } if (entity.HasChanged("DualisKepzohelyAdoszama")) { sb.Append("C_DUALISKEPZOHELYADOSZAMA = :pDUALISKEPZOHELYADOSZAMA,"); DAUtil.BindParameter(command, "pDUALISKEPZOHELYADOSZAMA", SDA.DataProvider.SDADBType.String, 20, entity.m_DualisKepzohelyAdoszama, entity.m_DualisKepzohelyAdoszama == null); } if (entity.HasChanged("DualisKepzohelyNeve")) { sb.Append("C_DUALISKEPZOHELYNEVE = :pDUALISKEPZOHELYNEVE,"); DAUtil.BindParameter(command, "pDUALISKEPZOHELYNEVE", SDA.DataProvider.SDADBType.String, 255, entity.m_DualisKepzohelyNeve, entity.m_DualisKepzohelyNeve == null); } if (entity.HasChanged("DualisHelyszinTipusId")) { sb.Append("C_DUALISHELYSZINTIPUSID = :pDUALISHELYSZINTIPUSID,"); DAUtil.BindParameter(command, "pDUALISHELYSZINTIPUSID", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_DualisHelyszinTipusId, entity.m_DualisHelyszinTipusId == null); } command.CommandText = command.CommandText.Replace("{COLUMNS}", sb.ToString()); } public override void BindAssociations(Terem entity, SDA.DataProvider.SDACommand command) { DAUtil.BindIdParameter(command, "pMUKODESIHELYID", entity.InternalMukodesiHelyId); DAUtil.BindIdParameter(command, "pTEREMFELELOSID", entity.InternalTeremFelelosId); DAUtil.BindIdParameter(command, "pSZERVEZETID", entity.InternalSzervezetId); DAUtil.BindIdParameter(command, "pINTEZMENYID", entity.InternalIntezmenyId); DAUtil.BindIdParameter(command, "pTANEVID", entity.InternalTanevId); } #endregion } internal class TeremDA : EntityDataAccessor { private static TeremDBHelper m_dbhelper = new TeremDBHelper(); protected override IEntityDBHelper dbhelper { get { return m_dbhelper; } } #region Load public override bool LoadEntity(Terem entity, int entityId) { return LoadById(entity, entityId); } public override bool FilteredLoadEntity(Terem entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable columns) { return LoadById(entity, entityId, columnFilterMode, columns); } public bool LoadById(Terem entity, int entityId) { using (SDA.DataProvider.SDACommand command = dbhelper.CreateEmptyQueryCommand()) { command.CommandText += " and (T_TEREM_OSSZES.ID = :pID) "; command.Parameters.Add("pID", SDA.DataProvider.SDADBType.Int).Value = entityId; return dbhelper.LoadSingleEntity(entity, command); } } public bool LoadById(Terem entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable columns) { using (SDA.DataProvider.SDACommand command = dbhelper.CreateDynamicQueryCommand(columnFilterMode, columns)) { command.CommandText += " and (T_TEREM_OSSZES.ID = :pID) "; command.Parameters.Add("pID", SDA.DataProvider.SDADBType.Int).Value = entityId; return dbhelper.LoadSingleEntity(entity, command, 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 override void LoadWithFilter(IEntityCollection collection, string filter, Dictionary commandParameters = null) { using (SDA.DataProvider.SDACommand command = dbhelper.CreateEmptyQueryCommand()) { command.CommandText += filter; dbhelper.CreateParameterBinding(command, commandParameters); dbhelper.LoadEntityCollection(collection, command); } } [Obsolete("Ezt ne használjátok, mert mindenhova bele kellene fogalmazni a tanév szűrést is! Meg fog majd szűnni!")] public override void LoadWithFilter(IEntityCollection collection, string filter, ColumnFilterMode columnFilterMode, IEnumerable columns, Dictionary commandParameters = null) { using (SDA.DataProvider.SDACommand command = dbhelper.CreateDynamicQueryCommand(columnFilterMode, columns)) { command.CommandText += filter; dbhelper.CreateParameterBinding(command, commandParameters); dbhelper.LoadEntityCollection(collection, command, columnFilterMode, columns); } } #endregion #region InsertEntity private const string m_InsertCommandText = @" insert into T_TEREM_OSSZES ( C_AKTIV, C_JELLEG, C_KAPACITAS, C_NEV, C_TERULET, C_TOBBORATLEHETTARTANI, C_VIZSGAKAPACITAS, C_WIFILEFEDETT, C_IMPORTALT, C_AR, C_BERBEADHATO, C_FOGLALHATOIDOSZAKKEZDETE, C_FOGLALHATOIDOSZAKVEGE, C_LEIRAS, C_MEGJEGYZES, C_EGYEDIAZONOSITO, C_EMELTAR, C_EMELTARKEZDETEORAPERC, C_TULAJDONTIPUSID, C_ISINTERAKTTABLAVALMUNKAALLOM, C_ISINTERNETKAPCSOLATELERHETO, C_OKTCELRAHASZNALTSZAMITOGEPEK, C_PEDAGOGUSHOZZAFERHINTERNETES, C_TANULOKSZAMARAHOZZAFERHINTER, C_DUALISKEPZOHELYADOSZAMA, C_DUALISKEPZOHELYNEVE, C_DUALISHELYSZINTIPUSID, C_MUKODESIHELYID, C_TEREMFELELOSID, C_SZERVEZETID, C_INTEZMENYID, C_TANEVID, TOROLT, SERIAL, CREATED, CREATOR) values ( :pAKTIV, :pJELLEG, :pKAPACITAS, :pNEV, :pTERULET, :pTOBBORATLEHETTARTANI, :pVIZSGAKAPACITAS, :pWIFILEFEDETT, :pIMPORTALT, :pAR, :pBERBEADHATO, :pFOGLALHATOIDOSZAKKEZDETE, :pFOGLALHATOIDOSZAKVEGE, :pLEIRAS, :pMEGJEGYZES, :pEGYEDIAZONOSITO, :pEMELTAR, :pEMELTARKEZDETEORAPERC, :pTULAJDONTIPUSID, :pISINTERAKTTABLAVALMUNKAALLOMA, :pISINTERNETKAPCSOLATELERHETO, :pOKTCELRAHASZNALTSZAMITOGEPEKS, :pPEDAGOGUSHOZZAFERHINTERNETESG, :pTANULOKSZAMARAHOZZAFERHINTERN, :pDUALISKEPZOHELYADOSZAMA, :pDUALISKEPZOHELYNEVE, :pDUALISHELYSZINTIPUSID, :pMUKODESIHELYID, :pTEREMFELELOSID, :pSZERVEZETID, :pINTEZMENYID, :pTANEVID, :pTOROLT, :pSERIAL, :pCREATED, :pCREATOR); SELECT SCOPE_IDENTITY() as ID; "; public override void InsertEntity(Terem entity) { entity.Serial = 0; SetEntityCreator(entity, DateTime.Now, UserContext.Instance.UniqueIdentifier); using (SDA.DataProvider.SDACommand command = DAUtil.CreateCommand(m_InsertCommandText)) { dbhelper.BindAttributes(entity, command); dbhelper.BindAssociations(entity, command); command.Parameters.Add("pTOROLT", SDA.DataProvider.SDADBType.Boolean /* Boolean */).Value = false; command.Parameters.Add("pSERIAL", SDA.DataProvider.SDADBType.Int).Value = 0; command.Parameters.Add("pCREATED", SDA.DataProvider.SDADBType.DateTime).Value = entity.EntityCreated; command.Parameters.Add("pCREATOR", SDA.DataProvider.SDADBType.Int).Value = entity.EntityCreator; entity.ID = Convert.ToInt32(command.ExecuteScalar()); } } #endregion #region UpdateEntity private const string m_UpdateAttributesCommandText = @" update T_TEREM_OSSZES set {COLUMNS} SERIAL = ISNULL(SERIAL,0) + 1, LASTCHANGED = :pLASTCHANGED, MODIFIER = :pMODIFIER, TOROLT = :pTOROLT where (ID = :pID) and (ISNULL(SERIAL,0) = :pSERIAL) "; public override bool UpdateEntity(Terem entity) { using (SDA.DataProvider.SDACommand command = DAUtil.CreateCommand(m_UpdateAttributesCommandText)) { bool result = true; dbhelper.DynamicBindAttributes(entity, command); SetEntityModifier(entity, DateTime.Now, UserContext.Instance.UniqueIdentifier); command.Parameters.Add("pID", SDA.DataProvider.SDADBType.Int).Value = entity.ID; command.Parameters.Add("pSERIAL", SDA.DataProvider.SDADBType.Int).Value = entity.Serial; command.Parameters.Add("pLASTCHANGED", SDA.DataProvider.SDADBType.DateTime).Value = entity.EntityLastChanged; command.Parameters.Add("pMODIFIER", SDA.DataProvider.SDADBType.Int).Value = entity.EntityModifier; command.Parameters.Add("pTOROLT", SDA.DataProvider.SDADBType.Boolean /* Boolean */).Value = entity.Torolt; result = (command.ExecuteNonQuery() == 1); if (result == true) entity.Serial++; return result; } } #endregion #region DeleteEntity private const string m_FizikaiDeleteCommandText = @"DELETE FROM T_TEREM_OSSZES WHERE (ID = :pID) "; private const string m_LogikaiDeleteCommandText = @" UPDATE T_TEREM_OSSZES SET TOROLT = 'T' , SERIAL = SERIAL + 1, LASTCHANGED = :pLASTCHANGED, MODIFIER = :pMODIFIER WHERE (ID = :pID) "; public override void DeleteEntity(Terem entity, bool logikai = true) { var _deleteCommandText = logikai ? m_LogikaiDeleteCommandText : m_FizikaiDeleteCommandText; using (SDA.DataProvider.SDACommand command = DAUtil.CreateCommand(_deleteCommandText)) { command.Parameters.Add("pID", SDA.DataProvider.SDADBType.Int).Value = entity.ID; if (logikai) { DateTime lastchanged = DateTime.Now; var modifier = UserContext.Instance.UniqueIdentifier; command.Parameters.Add("pLASTCHANGED", SDA.DataProvider.SDADBType.DateTime).Value = lastchanged; command.Parameters.Add("pMODIFIER", SDA.DataProvider.SDADBType.Int).Value = modifier; } if (command.ExecuteNonQuery() != 1) { throw new EntityNotFoundException("Terem", entity.ID); } } } #endregion #region UpdateAssociations private const string m_UpdateAssociationCommandText = @" update T_TEREM_OSSZES set C_MUKODESIHELYID = :pMUKODESIHELYID, C_TEREMFELELOSID = :pTEREMFELELOSID, C_SZERVEZETID = :pSZERVEZETID, C_INTEZMENYID = :pINTEZMENYID, C_TANEVID = :pTANEVID, SERIAL = ISNULL(SERIAL,0) + 1, LASTCHANGED = :pLASTCHANGED, MODIFIER = :pMODIFIER where (ID = :pID) and (ISNULL(SERIAL,0) = :pSERIAL) "; public override bool UpdateAssociations(Terem entity) { using (SDA.DataProvider.SDACommand command = DAUtil.CreateCommand(m_UpdateAssociationCommandText)) { dbhelper.BindAssociations(entity, command); DateTime lastchanged = DateTime.Now; var modifier = UserContext.Instance.UniqueIdentifier; command.Parameters.Add("pID", SDA.DataProvider.SDADBType.Int).Value = entity.ID; command.Parameters.Add("pSERIAL", SDA.DataProvider.SDADBType.Int).Value = entity.Serial; command.Parameters.Add("pLASTCHANGED", SDA.DataProvider.SDADBType.DateTime).Value = lastchanged; command.Parameters.Add("pMODIFIER", SDA.DataProvider.SDADBType.Int).Value = modifier; bool result = (command.ExecuteNonQuery() == 1); if (result == true) { entity.Serial++; SetEntityModifier(entity, lastchanged, modifier); } return result; } } #endregion #region Asszociációkkal kapcsolatos adatbázisműveletek (entitásspecifikus) #region Mint asszociációs osztály #endregion // kapcsolómező a másik táblában van, és nem önmagára mutat private const string m_LoadByEszkozIdFilter = @" and (exists (select 1 from T_ESZKOZ_OSSZES where C_TEREMID = T_TEREM_OSSZES.ID and T_ESZKOZ_OSSZES.ID = :pID)) "; public bool LoadByEszkozId(int id, Terem entity) { return dbhelper.LoadByPartnerId(entity, m_LoadByEszkozIdFilter, id); } // kapcsolómező a másik táblában van, és nem önmagára mutat private const string m_LoadByOrarendiOraIdFilter = @" and (exists (select 1 from T_ORARENDIORA_OSSZES where C_TEREMID = T_TEREM_OSSZES.ID and T_ORARENDIORA_OSSZES.ID = :pID)) "; public bool LoadByOrarendiOraId(int id, Terem entity) { return dbhelper.LoadByPartnerId(entity, m_LoadByOrarendiOraIdFilter, id); } // kapcsolómező a másik táblában van, és nem önmagára mutat private const string m_LoadByTanitasiOraIdFilter = @" and (exists (select 1 from T_TANITASIORA_OSSZES where C_TEREMID = T_TEREM_OSSZES.ID and T_TANITASIORA_OSSZES.ID = :pID)) "; public bool LoadByTanitasiOraId(int id, Terem entity) { return dbhelper.LoadByPartnerId(entity, m_LoadByTanitasiOraIdFilter, id); } // kapcsolómező a másik táblában van, és nem önmagára mutat private const string m_LoadByOsztalyCsoportIdFilter = @" and (exists (select 1 from T_OSZTALYCSOPORT_OSSZES where C_TEREMID = T_TEREM_OSSZES.ID and T_OSZTALYCSOPORT_OSSZES.ID = :pID)) "; public bool LoadByOsztalyCsoportId(int id, Terem entity) { return dbhelper.LoadByPartnerId(entity, m_LoadByOsztalyCsoportIdFilter, id); } // kapcsolómező a másik táblában van, és nem önmagára mutat private const string m_LoadByFogadooraIdFilter = @" and (exists (select 1 from T_FOGADOORA_OSSZES where C_TEREMID = T_TEREM_OSSZES.ID and T_FOGADOORA_OSSZES.ID = :pID)) "; public bool LoadByFogadooraId(int id, Terem entity) { return dbhelper.LoadByPartnerId(entity, m_LoadByFogadooraIdFilter, id); } // kapcsolómező a másik táblában van, és nem önmagára mutat private const string m_LoadByTeremElerhetosegIdFilter = @" and (exists (select 1 from T_TEREMELERHETOSEG_OSSZES where C_TEREMID = T_TEREM_OSSZES.ID and T_TEREMELERHETOSEG_OSSZES.ID = :pID)) "; public bool LoadByTeremElerhetosegId(int id, Terem entity) { return dbhelper.LoadByPartnerId(entity, m_LoadByTeremElerhetosegIdFilter, id); } #endregion } /// /// Az osztály elvégzi az UML modell 'MukodesiHely -> Terem (Terem)' /// asszociációjának teljes kezelését. /// internal class MukodesiHely_Terem_DA : EntityCollectionDA { internal protected MukodesiHely_Terem_DA(MukodesiHely owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_TEREM_OSSZES.C_MUKODESIHELYID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new TeremDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_MUKODESIHELYID = :pMUKODESIHELYID where (ID = :pTEREMID)"; result.Parameters.Add("pMUKODESIHELYID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(MukodesiHely owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateInsertTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pMUKODESIHELYID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_MukodesiHely"); assochandler.BeforeInsert(entity, this.Owner); this.DoAdd(this.Owner, entity); assochandler.AfterInsert(entity, this.Owner); } private static SDA.DataProvider.SDACommand CreateDeleteTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_MUKODESIHELYID = null where (C_MUKODESIHELYID = :pMUKODESIHELYID and ID = :pTEREMID)"; result.Parameters.Add("pMUKODESIHELYID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(MukodesiHely owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pMUKODESIHELYID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_MukodesiHely"); assochandler.BeforeDelete(entity, this.Owner); this.DoRemove(this.Owner, entity); assochandler.AfterDelete(entity, this.Owner); } } /// /// Az osztály elvégzi az UML modell 'Alkalmazott -> Terem (TermekFelelose)' /// asszociációjának teljes kezelését. /// internal class Alkalmazott_TermekFelelose_DA : EntityCollectionDA { internal protected Alkalmazott_TermekFelelose_DA(Alkalmazott owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_TEREM_OSSZES.C_TEREMFELELOSID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new TeremDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertTermekFeleloseCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_TEREMFELELOSID = :pTEREMFELELOSID where (ID = :pTERMEKFELELOSEID)"; result.Parameters.Add("pTEREMFELELOSID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTERMEKFELELOSEID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Alkalmazott owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateInsertTermekFeleloseCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTEREMFELELOSID"].Value = owner.ID; command.Parameters["pTERMEKFELELOSEID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("TeremFelelos_TermekFelelose"); assochandler.BeforeInsert(this.Owner, entity); this.DoAdd(this.Owner, entity); assochandler.AfterInsert(this.Owner, entity); } private static SDA.DataProvider.SDACommand CreateDeleteTermekFeleloseCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_TEREMFELELOSID = null where (C_TEREMFELELOSID = :pTEREMFELELOSID and ID = :pTERMEKFELELOSEID)"; result.Parameters.Add("pTEREMFELELOSID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTERMEKFELELOSEID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Alkalmazott owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteTermekFeleloseCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTEREMFELELOSID"].Value = owner.ID; command.Parameters["pTERMEKFELELOSEID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("TeremFelelos_TermekFelelose"); assochandler.BeforeDelete(this.Owner, entity); this.DoRemove(this.Owner, entity); assochandler.AfterDelete(this.Owner, entity); } } /// /// Az osztály elvégzi az UML modell 'Szervezet -> Terem (Terem)' /// asszociációjának teljes kezelését. /// internal class Szervezet_Terem_DA : EntityCollectionDA { internal protected Szervezet_Terem_DA(Szervezet owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_TEREM_OSSZES.C_SZERVEZETID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new TeremDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_SZERVEZETID = :pSZERVEZETID where (ID = :pTEREMID)"; result.Parameters.Add("pSZERVEZETID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Szervezet owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateInsertTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pSZERVEZETID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_Szervezet"); assochandler.BeforeInsert(entity, this.Owner); this.DoAdd(this.Owner, entity); assochandler.AfterInsert(entity, this.Owner); } private static SDA.DataProvider.SDACommand CreateDeleteTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_SZERVEZETID = null where (C_SZERVEZETID = :pSZERVEZETID and ID = :pTEREMID)"; result.Parameters.Add("pSZERVEZETID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Szervezet owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pSZERVEZETID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_Szervezet"); assochandler.BeforeDelete(entity, this.Owner); this.DoRemove(this.Owner, entity); assochandler.AfterDelete(entity, this.Owner); } } /// /// Az osztály elvégzi az UML modell 'Intezmeny -> Terem (Terem)' /// asszociációjának teljes kezelését. /// internal class Intezmeny_Terem_DA : EntityCollectionDA { internal protected Intezmeny_Terem_DA(Intezmeny owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_TEREM_OSSZES.C_INTEZMENYID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new TeremDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_INTEZMENYID = :pINTEZMENYID where (ID = :pTEREMID)"; result.Parameters.Add("pINTEZMENYID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Intezmeny owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateInsertTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pINTEZMENYID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_Intezmeny"); assochandler.BeforeInsert(entity, this.Owner); entity.ModifyIntezmeny(this.Owner); if (entity.State == EntityState.Modified) { entity.UpdateAssociations(true); } else { entity.Insert(true); } assochandler.AfterInsert(entity, this.Owner); } private static SDA.DataProvider.SDACommand CreateDeleteTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_INTEZMENYID = null where (C_INTEZMENYID = :pINTEZMENYID and ID = :pTEREMID)"; result.Parameters.Add("pINTEZMENYID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Intezmeny owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pINTEZMENYID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_Intezmeny"); assochandler.BeforeDelete(entity, this.Owner); entity.Delete(true); assochandler.AfterDelete(entity, this.Owner); } } /// /// Az osztály elvégzi az UML modell 'Tanev -> Terem (Terem)' /// asszociációjának teljes kezelését. /// internal class Tanev_Terem_DA : EntityCollectionDA { internal protected Tanev_Terem_DA(Tanev owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_TEREM_OSSZES.C_TANEVID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new TeremDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_TANEVID = :pTANEVID where (ID = :pTEREMID)"; result.Parameters.Add("pTANEVID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Tanev owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateInsertTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTANEVID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_Tanev"); assochandler.BeforeInsert(entity, this.Owner); entity.ModifyTanev(this.Owner); if (entity.State == EntityState.Modified) { entity.UpdateAssociations(true); } else { entity.Insert(true); } assochandler.AfterInsert(entity, this.Owner); } private static SDA.DataProvider.SDACommand CreateDeleteTeremCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_TEREM_OSSZES set C_TANEVID = null where (C_TANEVID = :pTANEVID and ID = :pTEREMID)"; result.Parameters.Add("pTANEVID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Tanev owner, Terem partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteTeremCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTANEVID"].Value = owner.ID; command.Parameters["pTEREMID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Terem entity) { var assochandler = AssociationHandlerManager.Create("Terem_Tanev"); assochandler.BeforeDelete(entity, this.Owner); entity.Delete(true); assochandler.AfterDelete(entity, this.Owner); } } }