860 lines
35 KiB
C#
860 lines
35 KiB
C#
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 FileDBHelper : EntityDBHelper<File>
|
|
{
|
|
private Dictionary<string, string> dynamicColumns = new Dictionary<string, string>()
|
|
{
|
|
{ "Extension", "T_FILE_OSSZES.C_EXTENSION" },
|
|
{ "FeltoltesDatum", "T_FILE_OSSZES.C_FELTOLTESDATUM" },
|
|
{ "FileGuid", "T_FILE_OSSZES.C_FILEGUID" },
|
|
{ "FileNev", "T_FILE_OSSZES.C_FILENEV" },
|
|
{ "FileSizeByte", "T_FILE_OSSZES.C_FILESIZEBYTE" },
|
|
{ "IntezmenyGuid", "T_FILE_OSSZES.C_INTEZMENYGUID" },
|
|
{ "Utvonal", "T_FILE_OSSZES.C_UTVONAL" },
|
|
{ "VeglegesitesDatum", "T_FILE_OSSZES.C_VEGLEGESITESDATUM" },
|
|
{ "Megjegyzes", "T_FILE_OSSZES.C_MEGJEGYZES" },
|
|
};
|
|
|
|
private const string dynamicQueryCommandText =
|
|
"select " +
|
|
"T_FILE_OSSZES.ID, " +
|
|
"{COLUMNS}" +
|
|
// File betöltése
|
|
// File kapcsoló mezői
|
|
"T_FILE_OSSZES.C_FELHASZNALOID, " + /* Kötelező asszociációs kapcsolómező */
|
|
"T_FILE_OSSZES.C_INTEZMENYID, " + /* Kötelező asszociációs kapcsolómező */
|
|
"T_FILE_OSSZES.C_TANEVID, " + /* Kötelező asszociációs kapcsolómező */
|
|
"T_FILE_OSSZES.TOROLT, " +
|
|
"T_FILE_OSSZES.SERIAL, " +
|
|
"T_FILE_OSSZES.CREATED, " +
|
|
"T_FILE_OSSZES.CREATOR, " +
|
|
"T_FILE_OSSZES.LASTCHANGED, " +
|
|
"T_FILE_OSSZES.MODIFIER " +
|
|
"from " +
|
|
"T_FILE_OSSZES " +
|
|
"where " +
|
|
"(1 = 1) ";
|
|
|
|
private const string emptyQueryCommandText =
|
|
"select " +
|
|
"T_FILE_OSSZES.ID, " +
|
|
// File betöltése
|
|
// File mezői
|
|
"T_FILE_OSSZES.C_EXTENSION, " +
|
|
"T_FILE_OSSZES.C_FELTOLTESDATUM, " +
|
|
"T_FILE_OSSZES.C_FILEGUID, " +
|
|
"T_FILE_OSSZES.C_FILENEV, " +
|
|
"T_FILE_OSSZES.C_FILESIZEBYTE, " +
|
|
"T_FILE_OSSZES.C_INTEZMENYGUID, " +
|
|
"T_FILE_OSSZES.C_UTVONAL, " +
|
|
"T_FILE_OSSZES.C_VEGLEGESITESDATUM, " +
|
|
"T_FILE_OSSZES.C_MEGJEGYZES, " +
|
|
// File kapcsoló mezői
|
|
"T_FILE_OSSZES.C_FELHASZNALOID, " + /* Kötelező asszociációs kapcsolómező */
|
|
"T_FILE_OSSZES.C_INTEZMENYID, " + /* Kötelező asszociációs kapcsolómező */
|
|
"T_FILE_OSSZES.C_TANEVID, " + /* Kötelező asszociációs kapcsolómező */
|
|
"T_FILE_OSSZES.TOROLT, " +
|
|
"T_FILE_OSSZES.SERIAL, " +
|
|
"T_FILE_OSSZES.CREATED, " +
|
|
"T_FILE_OSSZES.CREATOR, " +
|
|
"T_FILE_OSSZES.LASTCHANGED, " +
|
|
"T_FILE_OSSZES.MODIFIER " +
|
|
"from " +
|
|
"T_FILE_OSSZES " +
|
|
"where " +
|
|
"(1 = 1) ";
|
|
|
|
public override string EmptyQueryCommandText
|
|
{
|
|
get
|
|
{
|
|
return emptyQueryCommandText;
|
|
}
|
|
}
|
|
|
|
public override string DynamicQueryCommandText
|
|
{
|
|
get
|
|
{
|
|
return dynamicQueryCommandText;
|
|
}
|
|
}
|
|
|
|
public override IDictionary<string, string> DynamicColumns
|
|
{
|
|
get
|
|
{
|
|
return dynamicColumns;
|
|
}
|
|
}
|
|
|
|
protected override File CreateEntityInstance()
|
|
{
|
|
return File.GiveAnInstance();
|
|
}
|
|
|
|
#region Lekérdezés
|
|
|
|
public override void LoadEntityFields(File entity, SDA.DataProvider.SDADataReader reader)
|
|
{
|
|
// File betöltése
|
|
// File mezői
|
|
|
|
entity.m_Extension = DAUtil.ReadStringAttribute(reader, 1);
|
|
|
|
|
|
entity.m_FeltoltesDatum = DAUtil.ReadDateTimeAttribute(reader, 2, DateTime.Now);
|
|
|
|
|
|
entity.m_FileGuid = DAUtil.ReadGuidAttribute(reader, 3);
|
|
|
|
|
|
entity.m_FileNev = DAUtil.ReadStringAttribute(reader, 4);
|
|
|
|
|
|
entity.m_FileSizeByte = DAUtil.ReadIntegerAttribute(reader, 5);
|
|
|
|
|
|
entity.m_IntezmenyGuid = DAUtil.ReadGuidAttribute(reader, 6, default(Guid));
|
|
|
|
|
|
entity.m_Utvonal = DAUtil.ReadStringAttribute(reader, 7);
|
|
|
|
|
|
entity.m_VeglegesitesDatum = DAUtil.ReadDateTimeAttribute(reader, 8);
|
|
|
|
|
|
entity.m_Megjegyzes = DAUtil.ReadStringAttribute(reader, 9);
|
|
|
|
// File kapcsoló mezői
|
|
DAUtil.ReadIDAttribute(reader, 10, ref entity.m_FelhasznaloId, 0);
|
|
DAUtil.ReadIDAttribute(reader, 11, ref entity.m_IntezmenyId, 0);
|
|
DAUtil.ReadIDAttribute(reader, 12, ref entity.m_TanevId, 0);
|
|
}
|
|
|
|
public override void LoadEntityFields(File entity, SDA.DataProvider.SDADataReader reader, ColumnFilterMode columnFilterMode, IEnumerable<string> columns)
|
|
{
|
|
int index = 1;
|
|
if (columns == null)
|
|
{
|
|
columns = new List<string>(index);
|
|
}
|
|
// File betöltése
|
|
// File mezői
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Extension"))))
|
|
{
|
|
entity.m_Extension = DAUtil.ReadStringAttribute(reader, index++);
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("FeltoltesDatum"))))
|
|
{
|
|
entity.m_FeltoltesDatum = DAUtil.ReadDateTimeAttribute(reader, index++, DateTime.Now);
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("FileGuid"))))
|
|
{
|
|
entity.m_FileGuid = DAUtil.ReadGuidAttribute(reader, index++);
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("FileNev"))))
|
|
{
|
|
entity.m_FileNev = DAUtil.ReadStringAttribute(reader, index++);
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("FileSizeByte"))))
|
|
{
|
|
entity.m_FileSizeByte = DAUtil.ReadIntegerAttribute(reader, index++);
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("IntezmenyGuid"))))
|
|
{
|
|
entity.m_IntezmenyGuid = DAUtil.ReadGuidAttribute(reader, index++, default(Guid));
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Utvonal"))))
|
|
{
|
|
entity.m_Utvonal = DAUtil.ReadStringAttribute(reader, index++);
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("VeglegesitesDatum"))))
|
|
{
|
|
entity.m_VeglegesitesDatum = DAUtil.ReadDateTimeAttribute(reader, index++);
|
|
}
|
|
if (((columnFilterMode == ColumnFilterMode.DEFAULT_ALLOWED) ^ (columns.Contains("Megjegyzes"))))
|
|
{
|
|
entity.m_Megjegyzes = DAUtil.ReadStringAttribute(reader, index++);
|
|
}
|
|
// File kapcsoló mezői
|
|
DAUtil.ReadIDAttribute(reader, index++, ref entity.m_FelhasznaloId, 0);
|
|
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(File entity, SDA.DataProvider.SDACommand command)
|
|
{
|
|
DAUtil.BindParameter(command, "pEXTENSION", SDA.DataProvider.SDADBType.String, 50, entity.m_Extension, entity.m_Extension == null);
|
|
|
|
DAUtil.BindParameter(command, "pFELTOLTESDATUM", SDA.DataProvider.SDADBType.DateTime, entity.m_FeltoltesDatum, false);
|
|
|
|
DAUtil.BindParameter(command, "pFILEGUID", SDA.DataProvider.SDADBType.Guid, entity.m_FileGuid, entity.m_FileGuid == null);
|
|
|
|
DAUtil.BindParameter(command, "pFILENEV", SDA.DataProvider.SDADBType.String, 1000, entity.m_FileNev, entity.m_FileNev == null);
|
|
|
|
DAUtil.BindParameter(command, "pFILESIZEBYTE", SDA.DataProvider.SDADBType.Int, entity.m_FileSizeByte, entity.m_FileSizeByte == null);
|
|
|
|
DAUtil.BindParameter(command, "pINTEZMENYGUID", SDA.DataProvider.SDADBType.Guid, entity.m_IntezmenyGuid, false);
|
|
|
|
DAUtil.BindParameter(command, "pUTVONAL", SDA.DataProvider.SDADBType.String, 2000, entity.m_Utvonal, entity.m_Utvonal == null);
|
|
|
|
DAUtil.BindParameter(command, "pVEGLEGESITESDATUM", SDA.DataProvider.SDADBType.DateTime, entity.m_VeglegesitesDatum, entity.m_VeglegesitesDatum == null);
|
|
|
|
DAUtil.BindParameter(command, "pMEGJEGYZES", SDA.DataProvider.SDADBType.String, 1000, entity.m_Megjegyzes, entity.m_Megjegyzes == null);
|
|
}
|
|
|
|
public override void DynamicBindAttributes(File entity, SDA.DataProvider.SDACommand command)
|
|
{
|
|
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
|
if (entity.HasChanged("Extension"))
|
|
{
|
|
sb.Append("C_EXTENSION = :pEXTENSION,");
|
|
|
|
DAUtil.BindParameter(command, "pEXTENSION", SDA.DataProvider.SDADBType.String, 50, entity.m_Extension, entity.m_Extension == null);
|
|
|
|
}
|
|
if (entity.HasChanged("FeltoltesDatum"))
|
|
{
|
|
sb.Append("C_FELTOLTESDATUM = :pFELTOLTESDATUM,");
|
|
|
|
DAUtil.BindParameter(command, "pFELTOLTESDATUM", SDA.DataProvider.SDADBType.DateTime, entity.m_FeltoltesDatum, false);
|
|
|
|
}
|
|
if (entity.HasChanged("FileGuid"))
|
|
{
|
|
sb.Append("C_FILEGUID = :pFILEGUID,");
|
|
|
|
DAUtil.BindParameter(command, "pFILEGUID", SDA.DataProvider.SDADBType.Guid, entity.m_FileGuid, entity.m_FileGuid == null);
|
|
|
|
}
|
|
if (entity.HasChanged("FileNev"))
|
|
{
|
|
sb.Append("C_FILENEV = :pFILENEV,");
|
|
|
|
DAUtil.BindParameter(command, "pFILENEV", SDA.DataProvider.SDADBType.String, 1000, entity.m_FileNev, entity.m_FileNev == null);
|
|
|
|
}
|
|
if (entity.HasChanged("FileSizeByte"))
|
|
{
|
|
sb.Append("C_FILESIZEBYTE = :pFILESIZEBYTE,");
|
|
|
|
DAUtil.BindParameter(command, "pFILESIZEBYTE", SDA.DataProvider.SDADBType.Int, entity.m_FileSizeByte, entity.m_FileSizeByte == null);
|
|
|
|
}
|
|
if (entity.HasChanged("IntezmenyGuid"))
|
|
{
|
|
sb.Append("C_INTEZMENYGUID = :pINTEZMENYGUID,");
|
|
|
|
DAUtil.BindParameter(command, "pINTEZMENYGUID", SDA.DataProvider.SDADBType.Guid, entity.m_IntezmenyGuid, false);
|
|
|
|
}
|
|
if (entity.HasChanged("Utvonal"))
|
|
{
|
|
sb.Append("C_UTVONAL = :pUTVONAL,");
|
|
|
|
DAUtil.BindParameter(command, "pUTVONAL", SDA.DataProvider.SDADBType.String, 2000, entity.m_Utvonal, entity.m_Utvonal == null);
|
|
|
|
}
|
|
if (entity.HasChanged("VeglegesitesDatum"))
|
|
{
|
|
sb.Append("C_VEGLEGESITESDATUM = :pVEGLEGESITESDATUM,");
|
|
|
|
DAUtil.BindParameter(command, "pVEGLEGESITESDATUM", SDA.DataProvider.SDADBType.DateTime, entity.m_VeglegesitesDatum, entity.m_VeglegesitesDatum == null);
|
|
|
|
}
|
|
if (entity.HasChanged("Megjegyzes"))
|
|
{
|
|
sb.Append("C_MEGJEGYZES = :pMEGJEGYZES,");
|
|
|
|
DAUtil.BindParameter(command, "pMEGJEGYZES", SDA.DataProvider.SDADBType.String, 1000, entity.m_Megjegyzes, entity.m_Megjegyzes == null);
|
|
|
|
}
|
|
command.CommandText = command.CommandText.Replace("{COLUMNS}", sb.ToString());
|
|
}
|
|
|
|
public override void BindAssociations(File entity, SDA.DataProvider.SDACommand command)
|
|
{
|
|
DAUtil.BindIdParameter(command, "pFELHASZNALOID", entity.InternalFelhasznaloId);
|
|
DAUtil.BindIdParameter(command, "pINTEZMENYID", entity.InternalIntezmenyId);
|
|
DAUtil.BindIdParameter(command, "pTANEVID", entity.InternalTanevId);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
internal class FileDA : EntityDataAccessor<File>
|
|
{
|
|
private static FileDBHelper m_dbhelper = new FileDBHelper();
|
|
|
|
protected override IEntityDBHelper<File> dbhelper
|
|
{
|
|
get { return m_dbhelper; }
|
|
}
|
|
|
|
#region Load
|
|
|
|
public override bool LoadEntity(File entity, int entityId)
|
|
{
|
|
return LoadById(entity, entityId);
|
|
}
|
|
|
|
public override bool FilteredLoadEntity(File entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable<string> columns)
|
|
{
|
|
return LoadById(entity, entityId, columnFilterMode, columns);
|
|
}
|
|
|
|
public bool LoadById(File entity, int entityId)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = dbhelper.CreateEmptyQueryCommand())
|
|
{
|
|
command.CommandText += " and (T_FILE_OSSZES.ID = :pID) ";
|
|
command.Parameters.Add("pID", SDA.DataProvider.SDADBType.Int).Value = entityId;
|
|
return dbhelper.LoadSingleEntity(entity, command);
|
|
}
|
|
}
|
|
|
|
public bool LoadById(File entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable<string> columns)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = dbhelper.CreateDynamicQueryCommand(columnFilterMode, columns))
|
|
{
|
|
command.CommandText += " and (T_FILE_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<File> collection, string filter, Dictionary<string, object> 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<File> collection, string filter, ColumnFilterMode columnFilterMode, IEnumerable<string> columns, Dictionary<string, object> 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_FILE_OSSZES (
|
|
C_EXTENSION,
|
|
C_FELTOLTESDATUM,
|
|
C_FILEGUID,
|
|
C_FILENEV,
|
|
C_FILESIZEBYTE,
|
|
C_INTEZMENYGUID,
|
|
C_UTVONAL,
|
|
C_VEGLEGESITESDATUM,
|
|
C_MEGJEGYZES,
|
|
C_FELHASZNALOID,
|
|
C_INTEZMENYID,
|
|
C_TANEVID,
|
|
TOROLT,
|
|
SERIAL,
|
|
CREATED,
|
|
CREATOR)
|
|
values (
|
|
:pEXTENSION,
|
|
:pFELTOLTESDATUM,
|
|
:pFILEGUID,
|
|
:pFILENEV,
|
|
:pFILESIZEBYTE,
|
|
:pINTEZMENYGUID,
|
|
:pUTVONAL,
|
|
:pVEGLEGESITESDATUM,
|
|
:pMEGJEGYZES,
|
|
:pFELHASZNALOID,
|
|
:pINTEZMENYID,
|
|
:pTANEVID,
|
|
:pTOROLT,
|
|
:pSERIAL,
|
|
:pCREATED,
|
|
:pCREATOR);
|
|
|
|
SELECT SCOPE_IDENTITY() as ID;
|
|
|
|
";
|
|
|
|
public override void InsertEntity(File 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_FILE_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(File 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_FILE_OSSZES WHERE (ID = :pID) ";
|
|
private const string m_LogikaiDeleteCommandText = @"
|
|
UPDATE T_FILE_OSSZES
|
|
SET TOROLT = 'T' ,
|
|
SERIAL = SERIAL + 1,
|
|
LASTCHANGED = :pLASTCHANGED,
|
|
MODIFIER = :pMODIFIER
|
|
WHERE (ID = :pID) ";
|
|
|
|
public override void DeleteEntity(File 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("File", entity.ID);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region UpdateAssociations
|
|
|
|
private const string m_UpdateAssociationCommandText = @"
|
|
update T_FILE_OSSZES
|
|
set
|
|
C_FELHASZNALOID = :pFELHASZNALOID,
|
|
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(File 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_LoadBySzirStatFileIdFilter = @" and (exists (select 1 from T_SZIRSTATFILE_OSSZES where C_FILEID = T_FILE_OSSZES.ID and T_SZIRSTATFILE_OSSZES.ID = :pID)) ";
|
|
|
|
public bool LoadBySzirStatFileId(int id, File entity)
|
|
{
|
|
return dbhelper.LoadByPartnerId(entity, m_LoadBySzirStatFileIdFilter, id);
|
|
}
|
|
|
|
// kapcsolómező a másik táblában van, és nem önmagára mutat
|
|
private const string m_LoadByProfilkepFileIdFilter = @" and (exists (select 1 from T_PROFILKEPFILE_OSSZES where C_FILEID = T_FILE_OSSZES.ID and T_PROFILKEPFILE_OSSZES.ID = :pID)) ";
|
|
|
|
public bool LoadByProfilkepFileId(int id, File entity)
|
|
{
|
|
return dbhelper.LoadByPartnerId(entity, m_LoadByProfilkepFileIdFilter, id);
|
|
}
|
|
|
|
// kapcsolómező a másik táblában van, és nem önmagára mutat
|
|
private const string m_LoadByIktatottDokumentumCsatolmanyIdFilter = @" and (exists (select 1 from T_IKTATOTTDOKUMENTUMCSATOLMANY_OSSZES where C_FILEID = T_FILE_OSSZES.ID and T_IKTATOTTDOKUMENTUMCSATOLMANY_OSSZES.ID = :pID)) ";
|
|
|
|
public bool LoadByIktatottDokumentumCsatolmanyId(int id, File entity)
|
|
{
|
|
return dbhelper.LoadByPartnerId(entity, m_LoadByIktatottDokumentumCsatolmanyIdFilter, id);
|
|
}
|
|
|
|
// kapcsolómező a másik táblában van, és nem önmagára mutat
|
|
private const string m_LoadByDualisSzerzodesFileIdFilter = @" and (exists (select 1 from T_DUALISSZERZODESFILE_OSSZES where C_FILEID = T_FILE_OSSZES.ID and T_DUALISSZERZODESFILE_OSSZES.ID = :pID)) ";
|
|
|
|
public bool LoadByDualisSzerzodesFileId(int id, File entity)
|
|
{
|
|
return dbhelper.LoadByPartnerId(entity, m_LoadByDualisSzerzodesFileIdFilter, id);
|
|
}
|
|
|
|
// kapcsolómező a másik táblában van, és nem önmagára mutat
|
|
private const string m_LoadByUjSzktSzakmajegyzekOsszerendelesIdFilter = @" and (exists (select 1 from T_UJSZKTSZAKMAJEGYZEKOSSZEREND_OSSZES where C_FILEID = T_FILE_OSSZES.ID and T_UJSZKTSZAKMAJEGYZEKOSSZEREND_OSSZES.ID = :pID)) ";
|
|
|
|
public bool LoadByUjSzktSzakmajegyzekOsszerendelesId(int id, File entity)
|
|
{
|
|
return dbhelper.LoadByPartnerId(entity, m_LoadByUjSzktSzakmajegyzekOsszerendelesIdFilter, id);
|
|
}
|
|
|
|
|
|
#endregion
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Az osztály elvégzi az UML modell 'Felhasznalo -> File (File)'
|
|
/// asszociációjának teljes kezelését.
|
|
/// </summary>
|
|
internal class Felhasznalo_File_DA : EntityCollectionDA<Felhasznalo, File>
|
|
{
|
|
internal protected Felhasznalo_File_DA(Felhasznalo owner)
|
|
: base(owner)
|
|
{
|
|
}
|
|
|
|
// Nincs kapcsolótábla
|
|
private const string m_Filter = @" and (T_FILE_OSSZES.C_FELHASZNALOID = :pID) ";
|
|
|
|
public override void LoadCollection(IAssociatedEntityCollection<File> collection)
|
|
{
|
|
new FileDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID);
|
|
}
|
|
|
|
private static SDA.DataProvider.SDACommand CreateInsertFileCommand()
|
|
{
|
|
SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand();
|
|
// nincs kapcsolótábla...
|
|
result.CommandText = @"update T_FILE_OSSZES set C_FELHASZNALOID = :pFELHASZNALOID where (ID = :pFILEID)";
|
|
result.Parameters.Add("pFELHASZNALOID", SDA.DataProvider.SDADBType.Int);
|
|
result.Parameters.Add("pFILEID", SDA.DataProvider.SDADBType.Int);
|
|
return result;
|
|
}
|
|
|
|
private void DoAdd(Felhasznalo owner, File partner)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = CreateInsertFileCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters["pFELHASZNALOID"].Value = owner.ID;
|
|
command.Parameters["pFILEID"].Value = partner.ID;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public override void AddItem(File entity)
|
|
{
|
|
var assochandler = AssociationHandlerManager.Create<File, Felhasznalo>("File_Felhasznalo");
|
|
assochandler.BeforeInsert(entity, this.Owner);
|
|
entity.ModifyFelhasznalo(this.Owner);
|
|
if (entity.State == EntityState.Modified)
|
|
{
|
|
entity.UpdateAssociations(true);
|
|
}
|
|
else
|
|
{
|
|
entity.Insert(true);
|
|
}
|
|
assochandler.AfterInsert(entity, this.Owner);
|
|
}
|
|
|
|
private static SDA.DataProvider.SDACommand CreateDeleteFileCommand()
|
|
{
|
|
SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand();
|
|
// nincs kapcsolótábla...
|
|
result.CommandText = @"update T_FILE_OSSZES set C_FELHASZNALOID = null where (C_FELHASZNALOID = :pFELHASZNALOID and ID = :pFILEID)";
|
|
result.Parameters.Add("pFELHASZNALOID", SDA.DataProvider.SDADBType.Int);
|
|
result.Parameters.Add("pFILEID", SDA.DataProvider.SDADBType.Int);
|
|
return result;
|
|
}
|
|
|
|
private void DoRemove(Felhasznalo owner, File partner)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = CreateDeleteFileCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters["pFELHASZNALOID"].Value = owner.ID;
|
|
command.Parameters["pFILEID"].Value = partner.ID;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public override void DeleteItem(File entity)
|
|
{
|
|
var assochandler = AssociationHandlerManager.Create<File, Felhasznalo>("File_Felhasznalo");
|
|
assochandler.BeforeDelete(entity, this.Owner);
|
|
entity.Delete(true);
|
|
assochandler.AfterDelete(entity, this.Owner);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Az osztály elvégzi az UML modell 'Intezmeny -> File (File)'
|
|
/// asszociációjának teljes kezelését.
|
|
/// </summary>
|
|
internal class Intezmeny_File_DA : EntityCollectionDA<Intezmeny, File>
|
|
{
|
|
internal protected Intezmeny_File_DA(Intezmeny owner)
|
|
: base(owner)
|
|
{
|
|
}
|
|
|
|
// Nincs kapcsolótábla
|
|
private const string m_Filter = @" and (T_FILE_OSSZES.C_INTEZMENYID = :pID) ";
|
|
|
|
public override void LoadCollection(IAssociatedEntityCollection<File> collection)
|
|
{
|
|
new FileDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID);
|
|
}
|
|
|
|
private static SDA.DataProvider.SDACommand CreateInsertFileCommand()
|
|
{
|
|
SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand();
|
|
// nincs kapcsolótábla...
|
|
result.CommandText = @"update T_FILE_OSSZES set C_INTEZMENYID = :pINTEZMENYID where (ID = :pFILEID)";
|
|
result.Parameters.Add("pINTEZMENYID", SDA.DataProvider.SDADBType.Int);
|
|
result.Parameters.Add("pFILEID", SDA.DataProvider.SDADBType.Int);
|
|
return result;
|
|
}
|
|
|
|
private void DoAdd(Intezmeny owner, File partner)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = CreateInsertFileCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters["pINTEZMENYID"].Value = owner.ID;
|
|
command.Parameters["pFILEID"].Value = partner.ID;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public override void AddItem(File entity)
|
|
{
|
|
var assochandler = AssociationHandlerManager.Create<File, Intezmeny>("File_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 CreateDeleteFileCommand()
|
|
{
|
|
SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand();
|
|
// nincs kapcsolótábla...
|
|
result.CommandText = @"update T_FILE_OSSZES set C_INTEZMENYID = null where (C_INTEZMENYID = :pINTEZMENYID and ID = :pFILEID)";
|
|
result.Parameters.Add("pINTEZMENYID", SDA.DataProvider.SDADBType.Int);
|
|
result.Parameters.Add("pFILEID", SDA.DataProvider.SDADBType.Int);
|
|
return result;
|
|
}
|
|
|
|
private void DoRemove(Intezmeny owner, File partner)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = CreateDeleteFileCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters["pINTEZMENYID"].Value = owner.ID;
|
|
command.Parameters["pFILEID"].Value = partner.ID;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public override void DeleteItem(File entity)
|
|
{
|
|
var assochandler = AssociationHandlerManager.Create<File, Intezmeny>("File_Intezmeny");
|
|
assochandler.BeforeDelete(entity, this.Owner);
|
|
entity.Delete(true);
|
|
assochandler.AfterDelete(entity, this.Owner);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Az osztály elvégzi az UML modell 'Tanev -> File (File)'
|
|
/// asszociációjának teljes kezelését.
|
|
/// </summary>
|
|
internal class Tanev_File_DA : EntityCollectionDA<Tanev, File>
|
|
{
|
|
internal protected Tanev_File_DA(Tanev owner)
|
|
: base(owner)
|
|
{
|
|
}
|
|
|
|
// Nincs kapcsolótábla
|
|
private const string m_Filter = @" and (T_FILE_OSSZES.C_TANEVID = :pID) ";
|
|
|
|
public override void LoadCollection(IAssociatedEntityCollection<File> collection)
|
|
{
|
|
new FileDBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID);
|
|
}
|
|
|
|
private static SDA.DataProvider.SDACommand CreateInsertFileCommand()
|
|
{
|
|
SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand();
|
|
// nincs kapcsolótábla...
|
|
result.CommandText = @"update T_FILE_OSSZES set C_TANEVID = :pTANEVID where (ID = :pFILEID)";
|
|
result.Parameters.Add("pTANEVID", SDA.DataProvider.SDADBType.Int);
|
|
result.Parameters.Add("pFILEID", SDA.DataProvider.SDADBType.Int);
|
|
return result;
|
|
}
|
|
|
|
private void DoAdd(Tanev owner, File partner)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = CreateInsertFileCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters["pTANEVID"].Value = owner.ID;
|
|
command.Parameters["pFILEID"].Value = partner.ID;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public override void AddItem(File entity)
|
|
{
|
|
var assochandler = AssociationHandlerManager.Create<File, Tanev>("File_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 CreateDeleteFileCommand()
|
|
{
|
|
SDA.DataProvider.SDACommand result = new SDA.DataProvider.SDACommand();
|
|
// nincs kapcsolótábla...
|
|
result.CommandText = @"update T_FILE_OSSZES set C_TANEVID = null where (C_TANEVID = :pTANEVID and ID = :pFILEID)";
|
|
result.Parameters.Add("pTANEVID", SDA.DataProvider.SDADBType.Int);
|
|
result.Parameters.Add("pFILEID", SDA.DataProvider.SDADBType.Int);
|
|
return result;
|
|
}
|
|
|
|
private void DoRemove(Tanev owner, File partner)
|
|
{
|
|
using (SDA.DataProvider.SDACommand command = CreateDeleteFileCommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters["pTANEVID"].Value = owner.ID;
|
|
command.Parameters["pFILEID"].Value = partner.ID;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public override void DeleteItem(File entity)
|
|
{
|
|
var assochandler = AssociationHandlerManager.Create<File, Tanev>("File_Tanev");
|
|
assochandler.BeforeDelete(entity, this.Owner);
|
|
entity.Delete(true);
|
|
assochandler.AfterDelete(entity, this.Owner);
|
|
}
|
|
}
|
|
|
|
}
|
|
|