74 lines
3.8 KiB
Text
74 lines
3.8 KiB
Text
//***************************************************************************//
|
|
// Legenerálja a megadott entitás törlését elvégzo DA muveletet. //
|
|
//***************************************************************************//
|
|
template GenerateDeleteEntity(MClass as ENTITY)
|
|
#region DeleteEntity
|
|
|
|
private const string m_FizikaiDeleteCommandText = @"DELETE FROM [ConvertNameToSQLTableName([ENTITY.name])] WHERE (ID = :[ConvertNameToCommandParameterName("ID")]) ";
|
|
private const string m_LogikaiDeleteCommandText = @"
|
|
UPDATE [ConvertNameToSQLTableName([ENTITY.name])]
|
|
SET TOROLT = 'T' ,
|
|
SERIAL = SERIAL + 1,
|
|
[if(GetTaggedValue([ENTITY], "dkt") == "true")]
|
|
DELETER = :[ConvertNameToCommandParameterName("Deleter")],
|
|
DELETED = :[ConvertNameToCommandParameterName("Deleted")],
|
|
[end if]
|
|
LASTCHANGED = :[ConvertNameToCommandParameterName("LastChanged")],
|
|
MODIFIER = :[ConvertNameToCommandParameterName("Modifier")]
|
|
WHERE (ID = :[ConvertNameToCommandParameterName("ID")]) ";
|
|
|
|
public override void DeleteEntity([ENTITY.name] entity, bool logikai = true)
|
|
{
|
|
var _deleteCommandText = logikai ? m_LogikaiDeleteCommandText : m_FizikaiDeleteCommandText;
|
|
using ([GetCSharpSQLCommandType()] command = DAUtil.CreateCommand(_deleteCommandText))
|
|
{
|
|
command.Parameters.Add("[ConvertNameToCommandParameterName("ID")]", [GetCSharpSQLIDType()]).Value = entity.ID;
|
|
|
|
if (logikai)
|
|
{
|
|
DateTime lastchanged = DateTime.Now;
|
|
var modifier = UserContext.Instance.UniqueIdentifier;
|
|
|
|
command.Parameters.Add("[ConvertNameToCommandParameterName("LastChanged")]", [GetCSharpDatasetType("DateTime", "")]).Value = lastchanged;
|
|
command.Parameters.Add("[ConvertNameToCommandParameterName("Modifier")]", [GetCSharpSQLIDType()]).Value = modifier;
|
|
[if(GetTaggedValue([ENTITY], "dkt") == "true")]
|
|
command.Parameters.Add("[ConvertNameToCommandParameterName("Deleted")]", [GetCSharpDatasetType("DateTime", "")]).Value = lastchanged;
|
|
command.Parameters.Add("[ConvertNameToCommandParameterName("Deleter")]", [GetCSharpSQLIDType()]).Value = modifier;
|
|
[end if]
|
|
}
|
|
|
|
if (command.ExecuteNonQuery() != 1)
|
|
{
|
|
throw new EntityNotFoundException("[ENTITY.name]", entity.ID);
|
|
}
|
|
}
|
|
|
|
[if (IsMasterEntity([ENTITY]) == "false" && GetInheritance([ENTITY]) != "tpc")]
|
|
|
|
entity.InheritedDA.DeleteEntity(entity, logikai);
|
|
[end if]
|
|
}
|
|
|
|
[loop (ENTITY -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as STARTROLE -> MClass as STARTCLASS where (GetStereoType([STARTCLASS]) == "Entity"))]
|
|
[loop (CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as ENDCLASS where ([STARTROLE.id] < [ENDROLE.id] and GetStereoType([ENDCLASS]) == "Entity"))]
|
|
private const string m_DeleteBy[DefineRoleName([STARTROLE])]And[DefineRoleName([ENDROLE])]CommandText = @"
|
|
delete from [ConvertNameToSQLTableName([ENTITY.name])]
|
|
where
|
|
([ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([STARTROLE]))])
|
|
and
|
|
([ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))]) ";
|
|
|
|
public void DeleteBy[DefineRoleName([STARTROLE])]And[DefineRoleName([ENDROLE])](int [ConvertRoleToName([STARTROLE])], int [ConvertRoleToName([ENDROLE])])
|
|
{
|
|
using ([GetCSharpSQLCommandType()] command = DAUtil.CreateCommand(m_DeleteBy[DefineRoleName([STARTROLE])]And[DefineRoleName([ENDROLE])]CommandText))
|
|
{
|
|
command.Parameters.Add("[ConvertNameToCommandParameterName(ConvertRoleToName([STARTROLE]))]", [GetCSharpSQLIDType()]).Value = [ConvertRoleToName([STARTROLE])];
|
|
command.Parameters.Add("[ConvertNameToCommandParameterName(ConvertRoleToName([ENDROLE]))]", [GetCSharpSQLIDType()]).Value = [ConvertRoleToName([ENDROLE])];
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
[end loop]
|
|
[end loop]
|
|
#endregion
|
|
end template
|