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 EszkozDBHelper : EntityDBHelper { private Dictionary dynamicColumns = new Dictionary() { { "Berelt", "T_ESZKOZ_OSSZES.C_BERELT" }, { "BeszerzesDatum", "T_ESZKOZ_OSSZES.C_BESZERZESDATUM" }, { "BeszerzesiAr", "T_ESZKOZ_OSSZES.C_BESZERZESIAR" }, { "Darabszam", "T_ESZKOZ_OSSZES.C_DARABSZAM" }, { "FokonyviSzam", "T_ESZKOZ_OSSZES.C_FOKONYVISZAM" }, { "GyariSzam", "T_ESZKOZ_OSSZES.C_GYARISZAM" }, { "GyartasiEv", "T_ESZKOZ_OSSZES.C_GYARTASIEV" }, { "HalozatiKapcsolat", "T_ESZKOZ_OSSZES.C_HALOZATIKAPCSOLAT" }, { "Hordozhato", "T_ESZKOZ_OSSZES.C_HORDOZHATO" }, { "InternetKapcsolat", "T_ESZKOZ_OSSZES.C_INTERNETKAPCSOLAT" }, { "Kategoria", "T_ESZKOZ_OSSZES.C_KATEGORIA" }, { "LeltariSzam", "T_ESZKOZ_OSSZES.C_LELTARISZAM" }, { "Megjegyzes", "T_ESZKOZ_OSSZES.C_MEGJEGYZES" }, { "Multimedias", "T_ESZKOZ_OSSZES.C_MULTIMEDIAS" }, { "Nev", "T_ESZKOZ_OSSZES.C_NEV" }, { "PedagogusHozzaferhet", "T_ESZKOZ_OSSZES.C_PEDAGOGUSHOZZAFERHET" }, { "Szallito", "T_ESZKOZ_OSSZES.C_SZALLITO" }, { "TanuloHozzaferhet", "T_ESZKOZ_OSSZES.C_TANULOHOZZAFERHET" }, { "Tartozek", "T_ESZKOZ_OSSZES.C_TARTOZEK" }, { "TartozekHivatkozas", "T_ESZKOZ_OSSZES.C_TARTOZEKHIVATKOZAS" }, { "Tipus", "T_ESZKOZ_OSSZES.C_TIPUS" }, { "Celja", "T_ESZKOZ_OSSZES.C_CELJA" }, { "Jellege", "T_ESZKOZ_OSSZES.C_JELLEGE" }, { "MennyisegiEgyseg", "T_ESZKOZ_OSSZES.C_MENNYISEGIEGYSEG" }, { "Vonalkod", "T_ESZKOZ_OSSZES.C_VONALKOD" }, { "NemMukodik", "T_ESZKOZ_OSSZES.C_NEMMUKODIK" }, { "Importalt", "T_ESZKOZ_OSSZES.C_IMPORTALT" }, { "Projekt", "T_ESZKOZ_OSSZES.C_PROJEKT" }, }; private const string dynamicQueryCommandText = "select " + "T_ESZKOZ_OSSZES.ID, " + "{COLUMNS}" + // Eszkoz betöltése // Eszkoz kapcsoló mezői "T_ESZKOZ_OSSZES.C_TEREMID, " + /* Kötelező asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.C_FELELOSID, " + /* Opcionális asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.C_INTEZMENYID, " + /* Kötelező asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.C_TANEVID, " + /* Kötelező asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.TOROLT, " + "T_ESZKOZ_OSSZES.SERIAL, " + "T_ESZKOZ_OSSZES.CREATED, " + "T_ESZKOZ_OSSZES.CREATOR, " + "T_ESZKOZ_OSSZES.LASTCHANGED, " + "T_ESZKOZ_OSSZES.MODIFIER " + "from " + "T_ESZKOZ_OSSZES " + "where " + "(1 = 1) "; private const string emptyQueryCommandText = "select " + "T_ESZKOZ_OSSZES.ID, " + // Eszkoz betöltése // Eszkoz mezői "T_ESZKOZ_OSSZES.C_BERELT, " + "T_ESZKOZ_OSSZES.C_BESZERZESDATUM, " + "T_ESZKOZ_OSSZES.C_BESZERZESIAR, " + "T_ESZKOZ_OSSZES.C_DARABSZAM, " + "T_ESZKOZ_OSSZES.C_FOKONYVISZAM, " + "T_ESZKOZ_OSSZES.C_GYARISZAM, " + "T_ESZKOZ_OSSZES.C_GYARTASIEV, " + "T_ESZKOZ_OSSZES.C_HALOZATIKAPCSOLAT, " + "T_ESZKOZ_OSSZES.C_HORDOZHATO, " + "T_ESZKOZ_OSSZES.C_INTERNETKAPCSOLAT, " + "T_ESZKOZ_OSSZES.C_KATEGORIA, " + "T_ESZKOZ_OSSZES.C_LELTARISZAM, " + "T_ESZKOZ_OSSZES.C_MEGJEGYZES, " + "T_ESZKOZ_OSSZES.C_MULTIMEDIAS, " + "T_ESZKOZ_OSSZES.C_NEV, " + "T_ESZKOZ_OSSZES.C_PEDAGOGUSHOZZAFERHET, " + "T_ESZKOZ_OSSZES.C_SZALLITO, " + "T_ESZKOZ_OSSZES.C_TANULOHOZZAFERHET, " + "T_ESZKOZ_OSSZES.C_TARTOZEK, " + "T_ESZKOZ_OSSZES.C_TARTOZEKHIVATKOZAS, " + "T_ESZKOZ_OSSZES.C_TIPUS, " + "T_ESZKOZ_OSSZES.C_CELJA, " + "T_ESZKOZ_OSSZES.C_JELLEGE, " + "T_ESZKOZ_OSSZES.C_MENNYISEGIEGYSEG, " + "T_ESZKOZ_OSSZES.C_VONALKOD, " + "T_ESZKOZ_OSSZES.C_NEMMUKODIK, " + "T_ESZKOZ_OSSZES.C_IMPORTALT, " + "T_ESZKOZ_OSSZES.C_PROJEKT, " + // Eszkoz kapcsoló mezői "T_ESZKOZ_OSSZES.C_TEREMID, " + /* Kötelező asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.C_FELELOSID, " + /* Opcionális asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.C_INTEZMENYID, " + /* Kötelező asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.C_TANEVID, " + /* Kötelező asszociációs kapcsolómező */ "T_ESZKOZ_OSSZES.TOROLT, " + "T_ESZKOZ_OSSZES.SERIAL, " + "T_ESZKOZ_OSSZES.CREATED, " + "T_ESZKOZ_OSSZES.CREATOR, " + "T_ESZKOZ_OSSZES.LASTCHANGED, " + "T_ESZKOZ_OSSZES.MODIFIER " + "from " + "T_ESZKOZ_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 Eszkoz CreateEntityInstance() { return Eszkoz.GiveAnInstance(); } #region Lekérdezés public override void LoadEntityFields(Eszkoz entity, SDA.DataProvider.SDADataReader reader) { // Eszkoz betöltése // Eszkoz mezői entity.m_Berelt = DAUtil.ReadBooleanAttribute(reader, 1); entity.m_BeszerzesDatum = DAUtil.ReadDateTimeAttribute(reader, 2); entity.m_BeszerzesiAr = DAUtil.ReadIntegerAttribute(reader, 3); entity.m_Darabszam = DAUtil.ReadIntegerAttribute(reader, 4); entity.m_FokonyviSzam = DAUtil.ReadStringAttribute(reader, 5); entity.m_GyariSzam = DAUtil.ReadStringAttribute(reader, 6); entity.m_GyartasiEv = DAUtil.ReadIntegerAttribute(reader, 7); entity.m_HalozatiKapcsolat = DAUtil.ReadBooleanAttribute(reader, 8); entity.m_Hordozhato = DAUtil.ReadBooleanAttribute(reader, 9); entity.m_InternetKapcsolat = DAUtil.ReadBooleanAttribute(reader, 10); entity.m_Kategoria = DAUtil.ReadIntegerAttribute(reader, 11); entity.m_LeltariSzam = DAUtil.ReadStringAttribute(reader, 12); entity.m_Megjegyzes = DAUtil.ReadStringAttribute(reader, 13); entity.m_Multimedias = DAUtil.ReadBooleanAttribute(reader, 14); entity.m_Nev = DAUtil.ReadStringAttribute(reader, 15, ""); entity.m_PedagogusHozzaferhet = DAUtil.ReadBooleanAttribute(reader, 16); entity.m_Szallito = DAUtil.ReadStringAttribute(reader, 17); entity.m_TanuloHozzaferhet = DAUtil.ReadBooleanAttribute(reader, 18); entity.m_Tartozek = DAUtil.ReadBooleanAttribute(reader, 19); entity.m_TartozekHivatkozas = DAUtil.ReadStringAttribute(reader, 20); entity.m_Tipus = DAUtil.ReadIntegerAttribute(reader, 21); entity.m_Celja = DAUtil.ReadIntegerAttribute(reader, 22); entity.m_Jellege = DAUtil.ReadIntegerAttribute(reader, 23); entity.m_MennyisegiEgyseg = DAUtil.ReadIntegerAttribute(reader, 24); entity.m_Vonalkod = DAUtil.ReadStringAttribute(reader, 25); entity.m_NemMukodik = DAUtil.ReadBooleanAttribute(reader, 26); entity.m_Importalt = DAUtil.ReadBooleanAttribute(reader, 27, false); entity.m_Projekt = DAUtil.ReadStringAttribute(reader, 28); // Eszkoz kapcsoló mezői DAUtil.ReadIDAttribute(reader, 29, ref entity.m_TeremId, 0); DAUtil.ReadIDAttribute(reader, 30, ref entity.m_FelelosId, -1); DAUtil.ReadIDAttribute(reader, 31, ref entity.m_IntezmenyId, 0); DAUtil.ReadIDAttribute(reader, 32, ref entity.m_TanevId, 0); } public override void LoadEntityFields(Eszkoz entity, SDA.DataProvider.SDADataReader reader, ColumnFilterMode columnFilterMode, IEnumerable columns) { int index = 1; if (columns == null) { columns = new List(index); } // Eszkoz betöltése // Eszkoz mezői if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Berelt")))) { entity.m_Berelt = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("BeszerzesDatum")))) { entity.m_BeszerzesDatum = DAUtil.ReadDateTimeAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("BeszerzesiAr")))) { entity.m_BeszerzesiAr = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Darabszam")))) { entity.m_Darabszam = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("FokonyviSzam")))) { entity.m_FokonyviSzam = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("GyariSzam")))) { entity.m_GyariSzam = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("GyartasiEv")))) { entity.m_GyartasiEv = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("HalozatiKapcsolat")))) { entity.m_HalozatiKapcsolat = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Hordozhato")))) { entity.m_Hordozhato = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("InternetKapcsolat")))) { entity.m_InternetKapcsolat = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Kategoria")))) { entity.m_Kategoria = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("LeltariSzam")))) { entity.m_LeltariSzam = 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("Multimedias")))) { entity.m_Multimedias = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Nev")))) { entity.m_Nev = DAUtil.ReadStringAttribute(reader, index++, ""); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("PedagogusHozzaferhet")))) { entity.m_PedagogusHozzaferhet = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Szallito")))) { entity.m_Szallito = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("TanuloHozzaferhet")))) { entity.m_TanuloHozzaferhet = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Tartozek")))) { entity.m_Tartozek = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("TartozekHivatkozas")))) { entity.m_TartozekHivatkozas = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Tipus")))) { entity.m_Tipus = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Celja")))) { entity.m_Celja = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Jellege")))) { entity.m_Jellege = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("MennyisegiEgyseg")))) { entity.m_MennyisegiEgyseg = DAUtil.ReadIntegerAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Vonalkod")))) { entity.m_Vonalkod = DAUtil.ReadStringAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("NemMukodik")))) { entity.m_NemMukodik = DAUtil.ReadBooleanAttribute(reader, index++); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Importalt")))) { entity.m_Importalt = DAUtil.ReadBooleanAttribute(reader, index++, false); } if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Projekt")))) { entity.m_Projekt = DAUtil.ReadStringAttribute(reader, index++); } // Eszkoz kapcsoló mezői DAUtil.ReadIDAttribute(reader, index++, ref entity.m_TeremId, 0); DAUtil.ReadIDAttribute(reader, index++, ref entity.m_FelelosId, -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(Eszkoz entity, SDA.DataProvider.SDACommand command) { DAUtil.BindParameter(command, "pBERELT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Berelt, entity.m_Berelt == null); DAUtil.BindParameter(command, "pBESZERZESDATUM", SDA.DataProvider.SDADBType.DateTime, entity.m_BeszerzesDatum, entity.m_BeszerzesDatum == null); DAUtil.BindParameter(command, "pBESZERZESIAR", SDA.DataProvider.SDADBType.Int, entity.m_BeszerzesiAr, entity.m_BeszerzesiAr == null); DAUtil.BindParameter(command, "pDARABSZAM", SDA.DataProvider.SDADBType.Int, entity.m_Darabszam, entity.m_Darabszam == null); DAUtil.BindParameter(command, "pFOKONYVISZAM", SDA.DataProvider.SDADBType.String, 255, entity.m_FokonyviSzam, entity.m_FokonyviSzam == null); DAUtil.BindParameter(command, "pGYARISZAM", SDA.DataProvider.SDADBType.String, 255, entity.m_GyariSzam, entity.m_GyariSzam == null); DAUtil.BindParameter(command, "pGYARTASIEV", SDA.DataProvider.SDADBType.Int, entity.m_GyartasiEv, entity.m_GyartasiEv == null); DAUtil.BindParameter(command, "pHALOZATIKAPCSOLAT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_HalozatiKapcsolat, entity.m_HalozatiKapcsolat == null); DAUtil.BindParameter(command, "pHORDOZHATO", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Hordozhato, entity.m_Hordozhato == null); DAUtil.BindParameter(command, "pINTERNETKAPCSOLAT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_InternetKapcsolat, entity.m_InternetKapcsolat == null); DAUtil.BindParameter(command, "pKATEGORIA", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Kategoria, entity.m_Kategoria == null); DAUtil.BindParameter(command, "pLELTARISZAM", SDA.DataProvider.SDADBType.String, 200, entity.m_LeltariSzam, entity.m_LeltariSzam == null); DAUtil.BindParameter(command, "pMEGJEGYZES", SDA.DataProvider.SDADBType.String, 255, entity.m_Megjegyzes, entity.m_Megjegyzes == null); DAUtil.BindParameter(command, "pMULTIMEDIAS", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Multimedias, entity.m_Multimedias == null); DAUtil.BindParameter(command, "pNEV", SDA.DataProvider.SDADBType.String, 255, entity.m_Nev, false); DAUtil.BindParameter(command, "pPEDAGOGUSHOZZAFERHET", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_PedagogusHozzaferhet, entity.m_PedagogusHozzaferhet == null); DAUtil.BindParameter(command, "pSZALLITO", SDA.DataProvider.SDADBType.String, 255, entity.m_Szallito, entity.m_Szallito == null); DAUtil.BindParameter(command, "pTANULOHOZZAFERHET", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_TanuloHozzaferhet, entity.m_TanuloHozzaferhet == null); DAUtil.BindParameter(command, "pTARTOZEK", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Tartozek, entity.m_Tartozek == null); DAUtil.BindParameter(command, "pTARTOZEKHIVATKOZAS", SDA.DataProvider.SDADBType.String, 255, entity.m_TartozekHivatkozas, entity.m_TartozekHivatkozas == null); DAUtil.BindParameter(command, "pTIPUS", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Tipus, entity.m_Tipus == null); DAUtil.BindParameter(command, "pCELJA", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Celja, entity.m_Celja == null); DAUtil.BindParameter(command, "pJELLEGE", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Jellege, entity.m_Jellege == null); DAUtil.BindParameter(command, "pMENNYISEGIEGYSEG", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_MennyisegiEgyseg, entity.m_MennyisegiEgyseg == null); DAUtil.BindParameter(command, "pVONALKOD", SDA.DataProvider.SDADBType.String, 128, entity.m_Vonalkod, entity.m_Vonalkod == null); DAUtil.BindParameter(command, "pNEMMUKODIK", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_NemMukodik, entity.m_NemMukodik == null); DAUtil.BindParameter(command, "pIMPORTALT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Importalt, false); DAUtil.BindParameter(command, "pPROJEKT", SDA.DataProvider.SDADBType.String, 1000, entity.m_Projekt, entity.m_Projekt == null); } public override void DynamicBindAttributes(Eszkoz entity, SDA.DataProvider.SDACommand command) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (entity.HasChanged("Berelt")) { sb.Append("C_BERELT = :pBERELT,"); DAUtil.BindParameter(command, "pBERELT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Berelt, entity.m_Berelt == null); } if (entity.HasChanged("BeszerzesDatum")) { sb.Append("C_BESZERZESDATUM = :pBESZERZESDATUM,"); DAUtil.BindParameter(command, "pBESZERZESDATUM", SDA.DataProvider.SDADBType.DateTime, entity.m_BeszerzesDatum, entity.m_BeszerzesDatum == null); } if (entity.HasChanged("BeszerzesiAr")) { sb.Append("C_BESZERZESIAR = :pBESZERZESIAR,"); DAUtil.BindParameter(command, "pBESZERZESIAR", SDA.DataProvider.SDADBType.Int, entity.m_BeszerzesiAr, entity.m_BeszerzesiAr == null); } if (entity.HasChanged("Darabszam")) { sb.Append("C_DARABSZAM = :pDARABSZAM,"); DAUtil.BindParameter(command, "pDARABSZAM", SDA.DataProvider.SDADBType.Int, entity.m_Darabszam, entity.m_Darabszam == null); } if (entity.HasChanged("FokonyviSzam")) { sb.Append("C_FOKONYVISZAM = :pFOKONYVISZAM,"); DAUtil.BindParameter(command, "pFOKONYVISZAM", SDA.DataProvider.SDADBType.String, 255, entity.m_FokonyviSzam, entity.m_FokonyviSzam == null); } if (entity.HasChanged("GyariSzam")) { sb.Append("C_GYARISZAM = :pGYARISZAM,"); DAUtil.BindParameter(command, "pGYARISZAM", SDA.DataProvider.SDADBType.String, 255, entity.m_GyariSzam, entity.m_GyariSzam == null); } if (entity.HasChanged("GyartasiEv")) { sb.Append("C_GYARTASIEV = :pGYARTASIEV,"); DAUtil.BindParameter(command, "pGYARTASIEV", SDA.DataProvider.SDADBType.Int, entity.m_GyartasiEv, entity.m_GyartasiEv == null); } if (entity.HasChanged("HalozatiKapcsolat")) { sb.Append("C_HALOZATIKAPCSOLAT = :pHALOZATIKAPCSOLAT,"); DAUtil.BindParameter(command, "pHALOZATIKAPCSOLAT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_HalozatiKapcsolat, entity.m_HalozatiKapcsolat == null); } if (entity.HasChanged("Hordozhato")) { sb.Append("C_HORDOZHATO = :pHORDOZHATO,"); DAUtil.BindParameter(command, "pHORDOZHATO", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Hordozhato, entity.m_Hordozhato == null); } if (entity.HasChanged("InternetKapcsolat")) { sb.Append("C_INTERNETKAPCSOLAT = :pINTERNETKAPCSOLAT,"); DAUtil.BindParameter(command, "pINTERNETKAPCSOLAT", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_InternetKapcsolat, entity.m_InternetKapcsolat == null); } if (entity.HasChanged("Kategoria")) { sb.Append("C_KATEGORIA = :pKATEGORIA,"); DAUtil.BindParameter(command, "pKATEGORIA", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Kategoria, entity.m_Kategoria == null); } if (entity.HasChanged("LeltariSzam")) { sb.Append("C_LELTARISZAM = :pLELTARISZAM,"); DAUtil.BindParameter(command, "pLELTARISZAM", SDA.DataProvider.SDADBType.String, 200, entity.m_LeltariSzam, entity.m_LeltariSzam == null); } if (entity.HasChanged("Megjegyzes")) { sb.Append("C_MEGJEGYZES = :pMEGJEGYZES,"); DAUtil.BindParameter(command, "pMEGJEGYZES", SDA.DataProvider.SDADBType.String, 255, entity.m_Megjegyzes, entity.m_Megjegyzes == null); } if (entity.HasChanged("Multimedias")) { sb.Append("C_MULTIMEDIAS = :pMULTIMEDIAS,"); DAUtil.BindParameter(command, "pMULTIMEDIAS", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Multimedias, entity.m_Multimedias == 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("PedagogusHozzaferhet")) { sb.Append("C_PEDAGOGUSHOZZAFERHET = :pPEDAGOGUSHOZZAFERHET,"); DAUtil.BindParameter(command, "pPEDAGOGUSHOZZAFERHET", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_PedagogusHozzaferhet, entity.m_PedagogusHozzaferhet == null); } if (entity.HasChanged("Szallito")) { sb.Append("C_SZALLITO = :pSZALLITO,"); DAUtil.BindParameter(command, "pSZALLITO", SDA.DataProvider.SDADBType.String, 255, entity.m_Szallito, entity.m_Szallito == null); } if (entity.HasChanged("TanuloHozzaferhet")) { sb.Append("C_TANULOHOZZAFERHET = :pTANULOHOZZAFERHET,"); DAUtil.BindParameter(command, "pTANULOHOZZAFERHET", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_TanuloHozzaferhet, entity.m_TanuloHozzaferhet == null); } if (entity.HasChanged("Tartozek")) { sb.Append("C_TARTOZEK = :pTARTOZEK,"); DAUtil.BindParameter(command, "pTARTOZEK", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_Tartozek, entity.m_Tartozek == null); } if (entity.HasChanged("TartozekHivatkozas")) { sb.Append("C_TARTOZEKHIVATKOZAS = :pTARTOZEKHIVATKOZAS,"); DAUtil.BindParameter(command, "pTARTOZEKHIVATKOZAS", SDA.DataProvider.SDADBType.String, 255, entity.m_TartozekHivatkozas, entity.m_TartozekHivatkozas == null); } if (entity.HasChanged("Tipus")) { sb.Append("C_TIPUS = :pTIPUS,"); DAUtil.BindParameter(command, "pTIPUS", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Tipus, entity.m_Tipus == null); } if (entity.HasChanged("Celja")) { sb.Append("C_CELJA = :pCELJA,"); DAUtil.BindParameter(command, "pCELJA", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Celja, entity.m_Celja == null); } if (entity.HasChanged("Jellege")) { sb.Append("C_JELLEGE = :pJELLEGE,"); DAUtil.BindParameter(command, "pJELLEGE", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_Jellege, entity.m_Jellege == null); } if (entity.HasChanged("MennyisegiEgyseg")) { sb.Append("C_MENNYISEGIEGYSEG = :pMENNYISEGIEGYSEG,"); DAUtil.BindParameter(command, "pMENNYISEGIEGYSEG", SDA.DataProvider.SDADBType.Int /* DictionaryItem */, 15, entity.m_MennyisegiEgyseg, entity.m_MennyisegiEgyseg == null); } if (entity.HasChanged("Vonalkod")) { sb.Append("C_VONALKOD = :pVONALKOD,"); DAUtil.BindParameter(command, "pVONALKOD", SDA.DataProvider.SDADBType.String, 128, entity.m_Vonalkod, entity.m_Vonalkod == null); } if (entity.HasChanged("NemMukodik")) { sb.Append("C_NEMMUKODIK = :pNEMMUKODIK,"); DAUtil.BindParameter(command, "pNEMMUKODIK", SDA.DataProvider.SDADBType.Boolean /* Boolean */, 1, entity.m_NemMukodik, entity.m_NemMukodik == null); } 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("Projekt")) { sb.Append("C_PROJEKT = :pPROJEKT,"); DAUtil.BindParameter(command, "pPROJEKT", SDA.DataProvider.SDADBType.String, 1000, entity.m_Projekt, entity.m_Projekt == null); } command.CommandText = command.CommandText.Replace("{COLUMNS}", sb.ToString()); } public override void BindAssociations(Eszkoz entity, SDA.DataProvider.SDACommand command) { DAUtil.BindIdParameter(command, "pTEREMID", entity.InternalTeremId); DAUtil.BindIdParameter(command, "pFELELOSID", entity.InternalFelelosId); DAUtil.BindIdParameter(command, "pINTEZMENYID", entity.InternalIntezmenyId); DAUtil.BindIdParameter(command, "pTANEVID", entity.InternalTanevId); } #endregion } internal class EszkozDA : EntityDataAccessor { private static EszkozDBHelper m_dbhelper = new EszkozDBHelper(); protected override IEntityDBHelper dbhelper { get { return m_dbhelper; } } #region Load public override bool LoadEntity(Eszkoz entity, int entityId) { return LoadById(entity, entityId); } public override bool FilteredLoadEntity(Eszkoz entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable columns) { return LoadById(entity, entityId, columnFilterMode, columns); } public bool LoadById(Eszkoz entity, int entityId) { using (SDA.DataProvider.SDACommand command = dbhelper.CreateEmptyQueryCommand()) { command.CommandText += " and (T_ESZKOZ_OSSZES.ID = :pID) "; command.Parameters.Add("pID", SDA.DataProvider.SDADBType.Int).Value = entityId; return dbhelper.LoadSingleEntity(entity, command); } } public bool LoadById(Eszkoz entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable columns) { using (SDA.DataProvider.SDACommand command = dbhelper.CreateDynamicQueryCommand(columnFilterMode, columns)) { command.CommandText += " and (T_ESZKOZ_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_ESZKOZ_OSSZES ( C_BERELT, C_BESZERZESDATUM, C_BESZERZESIAR, C_DARABSZAM, C_FOKONYVISZAM, C_GYARISZAM, C_GYARTASIEV, C_HALOZATIKAPCSOLAT, C_HORDOZHATO, C_INTERNETKAPCSOLAT, C_KATEGORIA, C_LELTARISZAM, C_MEGJEGYZES, C_MULTIMEDIAS, C_NEV, C_PEDAGOGUSHOZZAFERHET, C_SZALLITO, C_TANULOHOZZAFERHET, C_TARTOZEK, C_TARTOZEKHIVATKOZAS, C_TIPUS, C_CELJA, C_JELLEGE, C_MENNYISEGIEGYSEG, C_VONALKOD, C_NEMMUKODIK, C_IMPORTALT, C_PROJEKT, C_TEREMID, C_FELELOSID, C_INTEZMENYID, C_TANEVID, TOROLT, SERIAL, CREATED, CREATOR) values ( :pBERELT, :pBESZERZESDATUM, :pBESZERZESIAR, :pDARABSZAM, :pFOKONYVISZAM, :pGYARISZAM, :pGYARTASIEV, :pHALOZATIKAPCSOLAT, :pHORDOZHATO, :pINTERNETKAPCSOLAT, :pKATEGORIA, :pLELTARISZAM, :pMEGJEGYZES, :pMULTIMEDIAS, :pNEV, :pPEDAGOGUSHOZZAFERHET, :pSZALLITO, :pTANULOHOZZAFERHET, :pTARTOZEK, :pTARTOZEKHIVATKOZAS, :pTIPUS, :pCELJA, :pJELLEGE, :pMENNYISEGIEGYSEG, :pVONALKOD, :pNEMMUKODIK, :pIMPORTALT, :pPROJEKT, :pTEREMID, :pFELELOSID, :pINTEZMENYID, :pTANEVID, :pTOROLT, :pSERIAL, :pCREATED, :pCREATOR); SELECT SCOPE_IDENTITY() as ID; "; public override void InsertEntity(Eszkoz 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_ESZKOZ_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(Eszkoz 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_ESZKOZ_OSSZES WHERE (ID = :pID) "; private const string m_LogikaiDeleteCommandText = @" UPDATE T_ESZKOZ_OSSZES SET TOROLT = 'T' , SERIAL = SERIAL + 1, LASTCHANGED = :pLASTCHANGED, MODIFIER = :pMODIFIER WHERE (ID = :pID) "; public override void DeleteEntity(Eszkoz 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("Eszkoz", entity.ID); } } } #endregion #region UpdateAssociations private const string m_UpdateAssociationCommandText = @" update T_ESZKOZ_OSSZES set C_TEREMID = :pTEREMID, C_FELELOSID = :pFELELOSID, 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(Eszkoz 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 #endregion } /// /// Az osztály elvégzi az UML modell 'Terem -> Eszkoz (Eszkoz)' /// asszociációjának teljes kezelését. /// internal class Terem_Eszkoz_DA : EntityCollectionDA { internal protected Terem_Eszkoz_DA(Terem owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_ESZKOZ_OSSZES.C_TEREMID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new EszkozDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_TEREMID = :pTEREMID where (ID = :pESZKOZID)"; result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Terem owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateInsertEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTEREMID"].Value = owner.ID; command.Parameters["pESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Eszkoz_Terem"); assochandler.BeforeInsert(entity, this.Owner); entity.ModifyTerem(this.Owner); if (entity.State == EntityState.Modified) { entity.UpdateAssociations(true); } else { entity.Insert(true); } assochandler.AfterInsert(entity, this.Owner); } private static SDA.DataProvider.SDACommand CreateDeleteEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_TEREMID = null where (C_TEREMID = :pTEREMID and ID = :pESZKOZID)"; result.Parameters.Add("pTEREMID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Terem owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTEREMID"].Value = owner.ID; command.Parameters["pESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Eszkoz_Terem"); assochandler.BeforeDelete(entity, this.Owner); entity.Delete(true); assochandler.AfterDelete(entity, this.Owner); } } /// /// Az osztály elvégzi az UML modell 'Alkalmazott -> Eszkoz (FelelosEszkoz)' /// asszociációjának teljes kezelését. /// internal class Alkalmazott_FelelosEszkoz_DA : EntityCollectionDA { internal protected Alkalmazott_FelelosEszkoz_DA(Alkalmazott owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_ESZKOZ_OSSZES.C_FELELOSID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new EszkozDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertFelelosEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_FELELOSID = :pFELELOSID where (ID = :pFELELOSESZKOZID)"; result.Parameters.Add("pFELELOSID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pFELELOSESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Alkalmazott owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateInsertFelelosEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pFELELOSID"].Value = owner.ID; command.Parameters["pFELELOSESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Felelos_FelelosEszkoz"); assochandler.BeforeInsert(this.Owner, entity); this.DoAdd(this.Owner, entity); assochandler.AfterInsert(this.Owner, entity); } private static SDA.DataProvider.SDACommand CreateDeleteFelelosEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_FELELOSID = null where (C_FELELOSID = :pFELELOSID and ID = :pFELELOSESZKOZID)"; result.Parameters.Add("pFELELOSID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pFELELOSESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Alkalmazott owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteFelelosEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pFELELOSID"].Value = owner.ID; command.Parameters["pFELELOSESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Felelos_FelelosEszkoz"); assochandler.BeforeDelete(this.Owner, entity); this.DoRemove(this.Owner, entity); assochandler.AfterDelete(this.Owner, entity); } } /// /// Az osztály elvégzi az UML modell 'Intezmeny -> Eszkoz (Eszkoz)' /// asszociációjának teljes kezelését. /// internal class Intezmeny_Eszkoz_DA : EntityCollectionDA { internal protected Intezmeny_Eszkoz_DA(Intezmeny owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_ESZKOZ_OSSZES.C_INTEZMENYID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new EszkozDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_INTEZMENYID = :pINTEZMENYID where (ID = :pESZKOZID)"; result.Parameters.Add("pINTEZMENYID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Intezmeny owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateInsertEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pINTEZMENYID"].Value = owner.ID; command.Parameters["pESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Eszkoz_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 CreateDeleteEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_INTEZMENYID = null where (C_INTEZMENYID = :pINTEZMENYID and ID = :pESZKOZID)"; result.Parameters.Add("pINTEZMENYID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Intezmeny owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pINTEZMENYID"].Value = owner.ID; command.Parameters["pESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Eszkoz_Intezmeny"); assochandler.BeforeDelete(entity, this.Owner); entity.Delete(true); assochandler.AfterDelete(entity, this.Owner); } } /// /// Az osztály elvégzi az UML modell 'Tanev -> Eszkoz (Eszkoz)' /// asszociációjának teljes kezelését. /// internal class Tanev_Eszkoz_DA : EntityCollectionDA { internal protected Tanev_Eszkoz_DA(Tanev owner) : base(owner) { } // Nincs kapcsolótábla private const string m_Filter = @" and (T_ESZKOZ_OSSZES.C_TANEVID = :pID) "; public override void LoadCollection(IAssociatedEntityCollection collection) { new EszkozDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID); } private static SDA.DataProvider.SDACommand CreateInsertEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_TANEVID = :pTANEVID where (ID = :pESZKOZID)"; result.Parameters.Add("pTANEVID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoAdd(Tanev owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateInsertEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTANEVID"].Value = owner.ID; command.Parameters["pESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void AddItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Eszkoz_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 CreateDeleteEszkozCommand() { SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand(); // nincs kapcsolótábla... result.CommandText = @"update T_ESZKOZ_OSSZES set C_TANEVID = null where (C_TANEVID = :pTANEVID and ID = :pESZKOZID)"; result.Parameters.Add("pTANEVID", SDA.DataProvider.SDADBType.Int); result.Parameters.Add("pESZKOZID", SDA.DataProvider.SDADBType.Int); return result; } private void DoRemove(Tanev owner, Eszkoz partner) { using (SDA.DataProvider.SDACommand command = CreateDeleteEszkozCommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters["pTANEVID"].Value = owner.ID; command.Parameters["pESZKOZID"].Value = partner.ID; command.ExecuteNonQuery(); } } public override void DeleteItem(Eszkoz entity) { var assochandler = AssociationHandlerManager.Create("Eszkoz_Tanev"); assochandler.BeforeDelete(entity, this.Owner); entity.Delete(true); assochandler.AfterDelete(entity, this.Owner); } } }