64 lines
2.5 KiB
Text
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
|