📄 templates.cs
字号:
if ( relation.ParentGetAccessor.ToLower() == "public" )
sb.Append( GetFormattedParentPropertyGet( Shared.NameSpace + "." + relation.ParentTable.AccessorName, relation.ParentAccessorName, relation.ChildTable.Name, relation.ForeignKeyColumnName, TemplateParser.GetScope(relation.ParentGetAccessor)) );
else if ( relation.ParentGetAccessor.ToLower() != "none" )
sb.Append( GetFormattedParentPropertyGetFn( Shared.NameSpace + "." + relation.ParentTable.AccessorName, relation.ParentAccessorName, relation.ChildTable.Name, relation.ForeignKeyColumnName, TemplateParser.GetScope(relation.ParentGetAccessor)) );
}
}
}
public void GetColumnStatements( Column column, StringBuilder sb )
{
string GetTemplate = parser.LoadTemplate(@"Biz\Templates\Get");
string Get_MethodTemplate = parser.LoadTemplate(@"Biz\Templates\Get_Method");
string Get_PropertyTemplate = parser.LoadTemplate(@"Biz\Templates\Get_Property");
string GetSet_PropertyTemplate = parser.LoadTemplate(@"Biz\Templates\GetSet_Property");
string IsNullGetTemplate = parser.LoadTemplate(@"Biz\Templates\IsNullGet");
string SetTemplate = parser.LoadTemplate(@"Biz\Templates\Set");
string Set_MethodTemplate = parser.LoadTemplate(@"Biz\Templates\Set_Method");
string Set_PropertyTemplate = parser.LoadTemplate(@"Biz\Templates\Set_Property");
string SqlIsNullGetTemplate = parser.LoadTemplate(@"Biz\Templates\SqlIsNullGet");
string SqlIsNullSetTemplate = parser.LoadTemplate(@"Biz\Templates\SqlIsNullSet");
bool SameScope = (bool)(column.GetAccessor == column.SetAccessor);
bool NoAccessor = (bool)(SameScope && column.GetAccessor.ToLower() == "none");
if ( NoAccessor ) return;
//determine datatype
string dataType;
if ( column.PrimaryKey.ToLower() == "true" )
dataType = column.DataType.NetType;
else
dataType = column.DataType.NetSqlType;
bool SqlType = HasValueAndIsNullProperty(dataType);
bool IsString = (bool)(dataType.ToLower() == "system.string");
string ChosenGetTemplate;
string ChosenSetTemplate;
// sql types reqire null check and .Value/.IsNull queries
if ( SqlType )
{
ChosenGetTemplate = SqlIsNullGetTemplate;
ChosenSetTemplate = SqlIsNullSetTemplate;
}
else if ( IsString ) // still need to test for nulls
{
ChosenGetTemplate = IsNullGetTemplate;
ChosenSetTemplate = SetTemplate;
}
else // usually int
{
ChosenGetTemplate = GetTemplate;
ChosenSetTemplate = SetTemplate;
}
//handle simple type first
if ( SameScope )
{
sb.AppendFormat(GetSet_PropertyTemplate, TemplateParser.GetScope(column.GetAccessor), dataType, column.AccessorName,
string.Format(ChosenGetTemplate, column.Name, dataType, column.DataType.NetType ),
string.Format(ChosenSetTemplate, column.Name));
}
else // differing scopes on set/set
{
bool DoGet = (bool)(column.GetAccessor.ToLower() != "none");
bool DoSet = (bool)(column.SetAccessor.ToLower() != "none");
bool GetIsProperty = (bool)(column.GetAccessor.ToLower() == "public virtual" );
bool SetIsProperty = (bool)(column.SetAccessor.ToLower() == "public virtual" );
string ChosenGetMemberTemplate;
string ChosenSetMemberTemplate;
if ( DoGet )
{
if ( GetIsProperty )
ChosenGetMemberTemplate = Get_PropertyTemplate;
else
ChosenGetMemberTemplate = Get_MethodTemplate;
sb.AppendFormat(ChosenGetMemberTemplate, TemplateParser.GetScope(column.GetAccessor), dataType, column.AccessorName,
string.Format(ChosenGetTemplate, column.Name, dataType, column.DataType.NetType));
}
if ( DoSet )
{
if ( SetIsProperty )
ChosenSetMemberTemplate = Set_PropertyTemplate;
else
ChosenSetMemberTemplate = Set_MethodTemplate;
sb.AppendFormat(ChosenSetMemberTemplate, TemplateParser.GetScope(column.SetAccessor), dataType, column.AccessorName,
string.Format(ChosenSetTemplate, column.Name));
}
}
}
public string GetFormattedLookupProperty( string fqAccessorName, string parentAccessorName, string actualParentAccessorName, string pkeyName, string pkeyAccessor, string pkeyDataType, string fkeyName, string requiredAttribute)
{
string LookupPropertyTemplate = parser.LoadTemplate(@"Biz\Templates\LookupProperty");
return string.Format( LookupPropertyTemplate, fqAccessorName, parentAccessorName, pkeyName, pkeyAccessor, pkeyDataType, fkeyName, requiredAttribute, actualParentAccessorName);
}
public string GetFormattedCollection(string childTableAccessorName, string foreignKeyColumnName, string childRelationAccessorName, string childTableName, string childGetAccessor, string childSetAccessor )
{
string collection = parser.LoadTemplate(@"Biz\Templates\Collections");
return string.Format( collection, childTableAccessorName, foreignKeyColumnName, childRelationAccessorName, childTableName);
}
public string GetFormattedGetCollection(string childTableAccessorName, string foreignKeyColumnName, string childRelationAccessorName, string childTableName, string childGetAccessor, string childSetAccessor )
{
string collection = parser.LoadTemplate(@"Biz\Templates\GetCollections");
return string.Format( collection, childTableAccessorName, childRelationAccessorName, childGetAccessor);
}
public string GetFormattedSetCollection(string childTableAccessorName, string foreignKeyColumnName, string childRelationAccessorName, string childTableName, string childGetAccessor, string childSetAccessor )
{
string collection = parser.LoadTemplate(@"Biz\Templates\SetCollections");
return string.Format( collection, childTableAccessorName, foreignKeyColumnName, childRelationAccessorName, childTableName, childSetAccessor);
}
public string GetFormattedParentProperty(string dataType, string accessorName, string objectName, string foreignKeyColumnName, string parentAccessorScope, string requiredAttribute)
{
string parentProperty = parser.LoadTemplate(@"Biz\Templates\ParentProperty");
return string.Format( parentProperty, dataType, accessorName, objectName, foreignKeyColumnName, parentAccessorScope, requiredAttribute);
}
public string GetFormattedParentPropertyGet(string dataType, string accessorName, string objectName, string foreignKeyColumnName, string parentAccessorScope)
{
string parentProperty = parser.LoadTemplate(@"Biz\Templates\ParentPropertyGet");
return string.Format( parentProperty, dataType, accessorName, objectName, foreignKeyColumnName, parentAccessorScope);
}
public string GetFormattedParentPropertyGetFn(string dataType, string accessorName, string objectName, string foreignKeyColumnName, string parentAccessorScope)
{
string parentProperty = parser.LoadTemplate(@"Biz\Templates\ParentPropertyGetFn");
return string.Format( parentProperty, dataType, accessorName, objectName, foreignKeyColumnName, parentAccessorScope);
}
public string GetFormattedParentPropertySet(string dataType, string accessorName, string objectName, string foreignKeyColumnName, string parentAccessorScope, string requiredAttribute)
{
string parentProperty = parser.LoadTemplate(@"Biz\Templates\ParentPropertySet");
return string.Format( parentProperty, dataType, accessorName, objectName, foreignKeyColumnName, parentAccessorScope, requiredAttribute);
}
public string GetFormattedParentPropertySetFn(string dataType, string accessorName, string objectName, string foreignKeyColumnName, string parentAccessorScope, string requiredAttribute)
{
string parentProperty = parser.LoadTemplate(@"Biz\Templates\ParentPropertySetFn");
return string.Format( parentProperty, dataType, accessorName, objectName, foreignKeyColumnName, parentAccessorScope, requiredAttribute);
}
public string GetFormattedChildProperty( string dataType, string accessorName, string objectName, string foreignKeyColumnName)
{
string childProperty = parser.LoadTemplate(@"Biz\Templates\ChildProperty");
return string.Format( childProperty, dataType, accessorName);
}
public string GetFormattedGetChildProperty( string dataType, string accessorName, string objectName, string foreignKeyColumnName, string parentTableName)
{
string childProperty = parser.LoadTemplate(@"Biz\Templates\GetChildProperty");
return string.Format( childProperty, dataType, accessorName, objectName, foreignKeyColumnName, parentTableName);
}
public string GetFormattedSetChildProperty( string dataType, string accessorName, string objectName, string foreignKeyColumnName)
{
string childProperty = parser.LoadTemplate(@"Biz\Templates\SetChildProperty");
return string.Format( childProperty, dataType, accessorName, objectName, foreignKeyColumnName);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -