124 lines
5.7 KiB
Text
124 lines
5.7 KiB
Text
/* A fájlban lévő sablonokat szinkronban kell tartani a szelekt generáló sablonokkal! */
|
|
/* Később kell egy kis refaktoring is! */
|
|
|
|
|
|
//***************************************************************************//
|
|
// Legenerálja azt a ciklusmagot, amely egy DataReader-ből kiszippantja //
|
|
// az entitás összes attribútumát. //
|
|
// //
|
|
// REKURZÍV! //
|
|
//***************************************************************************//
|
|
template GenerateLoadAllAttributesToEntityState(MClass as ENTITY, COUNTERNAME, ENTITYSTATENAME, READERNAME)
|
|
// [GetEntityName([ENTITY])] attribútumai
|
|
[loop (ENTITY -> MAttribute as ATTRIBUTE)]
|
|
[ENTITYSTATENAME].[ConvertNameToEntityStateAttributeName(GetAttributeName([ATTRIBUTE]))] = [READERNAME].GetValue([COUNTERNAME]++);
|
|
[end loop]
|
|
[if (IsMasterEntity([ENTITY]) == "false")]
|
|
[loop (ENTITY -> SuperClass as BASECLASS)]
|
|
[GenerateLoadAllAttributesToEntityState([BASECLASS], [COUNTERNAME], [ENTITYSTATENAME], [READERNAME])][break]
|
|
[end loop]
|
|
[end if]
|
|
end template
|
|
|
|
|
|
//***************************************************************************//
|
|
// Legenerálja azt az SQL parancsot helyőrzőkkel, ami felhozza az //
|
|
// adatbázisból egy entitás összes attribútumát. //
|
|
// //
|
|
// VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! //
|
|
//***************************************************************************//
|
|
template GenerateLoadAllAttributesCommand(MClass as ENTITY)
|
|
select
|
|
[ConvertNameToSQLTableName([ENTITY.name])].ID,
|
|
[GenerateLoadAllAttributesCommandColumns([ENTITY])]
|
|
[GenerateSerialColumn([ENTITY])]
|
|
from
|
|
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
|
{0}
|
|
where
|
|
[GenerateLoadAllAttributesCommandWhere([ENTITY])]
|
|
{1}
|
|
end template
|
|
|
|
|
|
|
|
//***************************************************************************//
|
|
// Legenerálja a SERIAL rendszeroszlop minősített nevét //
|
|
//***************************************************************************//
|
|
template GenerateSerialColumn(MClass as ENTITY)
|
|
[if (IsMasterEntity([ENTITY]) == "false")]
|
|
[loop (ENTITY -> SuperClass as BASECLASS)]
|
|
[GenerateSerialColumn([BASECLASS])][break]
|
|
[end loop]
|
|
[else]
|
|
[ConvertNameToSQLTableName([ENTITY.name])].SERIAL
|
|
[end if]
|
|
end template
|
|
|
|
|
|
//***************************************************************************//
|
|
// Legenerálja azt az SQL töredéket, ami egy entitás összes attribútumát //
|
|
// tartalmazza. (a rendszerattribútumokat nem generálja le!) //
|
|
// //
|
|
// REKURZÍV! //
|
|
//***************************************************************************//
|
|
template GenerateLoadAllAttributesCommandColumns(MClass as ENTITY)
|
|
[loop (ENTITY -> MAttribute as ATTRIBUTE)]
|
|
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName([ATTRIBUTE.name])],
|
|
[end loop]
|
|
[if (IsMasterEntity([ENTITY]) == "false")]
|
|
[loop (ENTITY -> SuperClass as BASECLASS)]
|
|
[GenerateLoadAllAttributesCommandColumns([BASECLASS])][break]
|
|
[end loop]
|
|
[end if]
|
|
end template
|
|
|
|
|
|
//***************************************************************************//
|
|
// Legenerálja azt az SQL töredéket, ami egy entitás lekérdezéséhez //
|
|
// felsorolja annak tábláit. (join-ok nélkül!) //
|
|
//***************************************************************************//
|
|
template GenerateLoadAllAttributesCommandTables(MClass as ENTITY)
|
|
[if (IsMasterEntity([ENTITY]) == "false")]
|
|
[loop (ENTITY -> SuperClass as BASECLASS)]
|
|
[GenerateLoadAllAttributesCommandTablesCore([BASECLASS])]
|
|
[end loop]
|
|
[end if]
|
|
[ConvertNameToSQLTableName([ENTITY.name])]
|
|
end template
|
|
|
|
|
|
//***************************************************************************//
|
|
// Legenerálja azt az SQL töredéket, ami egy entitás lekérdezéséhez //
|
|
// felsorolja annak tábláit. (join-ok nélkül!) //
|
|
// //
|
|
// REKURZÍV! //
|
|
//***************************************************************************//
|
|
template GenerateLoadAllAttributesCommandTablesCore(MClass as ENTITY)
|
|
[if (IsMasterEntity([ENTITY]) == "false")]
|
|
[loop (ENTITY -> SuperClass as BASECLASS)]
|
|
[GenerateLoadAllAttributesCommandTablesCore([BASECLASS])]
|
|
[ConvertNameToSQLTableName([ENTITY.name])],[break]
|
|
[end loop]
|
|
[else]
|
|
[ConvertNameToSQLTableName([ENTITY.name])],
|
|
[end if]
|
|
end template
|
|
|
|
|
|
//***************************************************************************//
|
|
// Legenerálja azt az SQL töredéket, ami egy entitás tábláit összekapcsolja. //
|
|
// //
|
|
// REKURZÍV! //
|
|
//***************************************************************************//
|
|
template GenerateLoadAllAttributesCommandWhere(MClass as ENTITY)
|
|
[if (IsMasterEntity([ENTITY]) == "false")]
|
|
([ConvertNameToSQLTableName(GetBaseClassName([ENTITY], "qqq"))].ID = [ConvertNameToSQLTableName([ENTITY.name])].ID)
|
|
[if (GetBaseBaseClassName([ENTITY], "") != "")]
|
|
[loop (ENTITY -> SuperClass as BASECLASS)]
|
|
and
|
|
[GenerateLoadAllAttributesCommandWhere([BASECLASS])][break]
|
|
[end loop]
|
|
[end if]
|
|
[end if]
|
|
end template
|