kreta/Tools/CodeGeneration/Templates/Server/DataAccess/DataAccessor/UpdateEntity.tdl
2024-03-13 00:33:46 +01:00

64 lines
2.5 KiB
Text

//***************************************************************************//
// Legenerálja egy entitás módosító műveletét a DA-ban //
//***************************************************************************//
template GenerateUpdateEntity(MClass as ENTITY)
#region UpdateEntity
private const string m_UpdateAttributesCommandText = @"
update [ConvertNameToSQLTableName([ENTITY.name])]
set
{COLUMNS}
SERIAL = ISNULL(SERIAL,0) + 1,
LASTCHANGED = :[ConvertNameToCommandParameterName("LastChanged")],
MODIFIER = :[ConvertNameToCommandParameterName("Modifier")],
TOROLT = :[ConvertNameToCommandParameterName("Torolt")]
where
[if (IsMasterEntity([ENTITY]) == "true")]
(ID = :[ConvertNameToCommandParameterName("ID")]) and (ISNULL(SERIAL,0) = :[ConvertNameToCommandParameterName("Serial")])
[else]
(ID = :[ConvertNameToCommandParameterName("ID")])
[end if]
";
public override bool UpdateEntity([ENTITY.name] entity)
{
[if (IsMasterEntity([ENTITY]) == "false")]
if (entity.InheritedDA.UpdateEntity(entity) == false)
{
return false;
}
[end if]
using ([GetCSharpSQLCommandType()] command = DAUtil.CreateCommand(m_UpdateAttributesCommandText))
{
bool result = true;
dbhelper.DynamicBindAttributes(entity, command);
[if (IsMasterEntity([ENTITY]) == "true")]
[if (GetTaggedValue([ENTITY], "anonymous") == "all" || GetTaggedValue([ENTITY], "anonymous") == "update")]
SetEntityModifier(entity, DateTime.Now, "??????");
[else]
SetEntityModifier(entity, DateTime.Now, UserContext.Instance.UniqueIdentifier);
[end if]
[end if]
command.Parameters.Add("[ConvertNameToCommandParameterName("ID")]", [GetCSharpDatasetType("ID", "")]).Value = entity.ID;
[if (IsMasterEntity([ENTITY]) == "true")]
command.Parameters.Add("[ConvertNameToCommandParameterName("Serial")]", [GetCSharpDatasetType("Integer", "")]).Value = entity.Serial;
[end if]
command.Parameters.Add("[ConvertNameToCommandParameterName("LastChanged")]", [GetCSharpDatasetType("DateTime", "")]).Value = entity.EntityLastChanged;
command.Parameters.Add("[ConvertNameToCommandParameterName("Modifier")]", [GetCSharpDatasetType("ID", "")]).Value = entity.EntityModifier;
command.Parameters.Add("[ConvertNameToCommandParameterName("Torolt")]", [GetCSharpDatasetType("Boolean", "")]).Value = entity.Torolt;
result = (command.ExecuteNonQuery() == 1);
[if(IsMasterEntity([ENTITY]) == "true")]
if (result == true)
entity.Serial++;
[end if]
return result;
}
}
#endregion
end template