117 lines
3.3 KiB
Text
117 lines
3.3 KiB
Text
proc GenerateViewAttributeLoad(TYPE, VALUE)
|
|
switch (ToLower([TYPE]))
|
|
case "integer": return "Convert.ToInt32(" [VALUE] ")";
|
|
case "string": return "Convert.ToString(" [VALUE] ")";
|
|
case "datetime": return "Convert.ToDateTime(" [VALUE] ")";
|
|
case "boolean": return "(" [VALUE] ".ToString() == \"T\")";
|
|
case "char": return "Convert.ToString(" [VALUE] ")";
|
|
case "double": return "Convert.ToDouble(" [VALUE] ")";
|
|
case "float": return "Convert.ToDouble(" [VALUE] ")";
|
|
case "id": return "Convert.ToInt32(" [VALUE] ")";
|
|
case "dictionaryitem": return "Convert.ToInt32(" [VALUE] ")";
|
|
case "binary": return "(byte[])(" [VALUE] ")";
|
|
case "longstring": return "Convert.ToString(" [VALUE] ")";
|
|
end switch
|
|
end proc
|
|
|
|
|
|
template GenerateViewBase(MClass as VIEW)
|
|
[BOM]using System;
|
|
using System.Collections;
|
|
using System.Data;
|
|
using Kreta.Framework;
|
|
|
|
namespace SDA.[ProjectName].Entities
|
|
{
|
|
[GenerateViewCollection([VIEW])]
|
|
|
|
public class [VIEW.name] : ViewBase
|
|
{
|
|
[loop (VIEW -> MAttribute as ATTRIBUTE)]
|
|
protected [GetCSharpType([ATTRIBUTE.type])] m_[ATTRIBUTE.name] = [GetCSharpDefaultValueOfAttribute([ATTRIBUTE])];
|
|
protected bool m_Is[ATTRIBUTE.name]Null = true;
|
|
[end loop]
|
|
|
|
#region Tulajdonságok
|
|
|
|
[loop (VIEW -> MAttribute as ATTRIBUTE)]
|
|
public virtual [GetCSharpType([ATTRIBUTE.type])] [ATTRIBUTE.name]
|
|
{
|
|
get
|
|
{
|
|
return m_[ATTRIBUTE.name];
|
|
}
|
|
}
|
|
|
|
public virtual bool Is[ATTRIBUTE.name]Null
|
|
{
|
|
get
|
|
{
|
|
return m_Is[ATTRIBUTE.name]Null;
|
|
}
|
|
}
|
|
|
|
[end loop]
|
|
#endregion
|
|
|
|
#region Betöltés
|
|
|
|
internal void InternalLoadFromReader([GetCSharpSQLDataReaderType()] reader)
|
|
{
|
|
LoadFromReader(reader);
|
|
}
|
|
|
|
protected override void LoadFromReader([GetCSharpSQLDataReaderType()] reader)
|
|
{
|
|
[loop (VIEW -> MAttribute as ATTRIBUTE)]
|
|
int [ToLower([ATTRIBUTE.name])]ordinal = reader.GetOrdinal("[ATTRIBUTE.name]");
|
|
[end loop]
|
|
|
|
[loop (VIEW -> MAttribute as ATTRIBUTE)]
|
|
if (reader.IsDBNull([ToLower([ATTRIBUTE.name])]ordinal) == false)
|
|
{
|
|
m_Is[ATTRIBUTE.name]Null = false;
|
|
m_[ATTRIBUTE.name] = [GenerateViewAttributeLoad([ATTRIBUTE.type], "reader.GetValue(" ToLower([ATTRIBUTE.name]) "ordinal" ")")];
|
|
}
|
|
else
|
|
{
|
|
m_Is[ATTRIBUTE.name]Null = true;
|
|
}
|
|
[end loop]
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
end template
|
|
|
|
|
|
template GenerateViewCollection(MClass as VIEW)
|
|
public class [VIEW.name]Collection : ViewCollectionBase
|
|
{
|
|
protected override void LoadFromReader([GetCSharpSQLDataReaderType()] reader)
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
[VIEW.name] item = new [VIEW.name]();
|
|
item.InternalLoadFromReader(reader);
|
|
Add(item);
|
|
}
|
|
}
|
|
|
|
protected void Add([VIEW.name] item)
|
|
{
|
|
m_Items.Add(item);
|
|
}
|
|
|
|
public [VIEW.name] this\[int index\]
|
|
{
|
|
get
|
|
{
|
|
return ([VIEW.name])m_Items\[index\];
|
|
}
|
|
}
|
|
}
|
|
end template
|
|
|