mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-11-09 10:54:46 +08:00
ru
This commit is contained in:
@@ -1,146 +1,146 @@
|
||||
<%@ Template Language="C#" TargetLanguage="Text" Debug="True" OutputType="None" %>
|
||||
|
||||
<%@ Assembly Name="SchemaExplorer" %>
|
||||
<%@ Assembly Name="CodeSmith.CustomProperties" %>
|
||||
|
||||
<%@ Assembly Name="Mono.Cecil" Path="..\Common" %>
|
||||
<%@ Assembly Name="ICSharpCode.NRefactory" Path="..\Common" %>
|
||||
<%@ Assembly Name="ICSharpCode.NRefactory.CSharp" Path="..\Common" %>
|
||||
|
||||
<%@ Assembly Src="Internal\Model.cs" %>
|
||||
<%@ Assembly Src="Internal\Extensions.cs" %>
|
||||
<%@ Assembly Src="Internal\Generator.cs" %>
|
||||
<%@ Assembly Src="Internal\Parser.cs" %>
|
||||
|
||||
<%@ Import Namespace="System.Collections.Generic" %>
|
||||
<%@ Import Namespace="System.IO" %>
|
||||
<%@ Import Namespace="System.Linq" %>
|
||||
<%@ Import Namespace="System.Text" %>
|
||||
<%@ Import Namespace="System.Text.RegularExpressions" %>
|
||||
|
||||
<%@ Import Namespace="SchemaMapper" %>
|
||||
|
||||
<%@ Property Name="SourceTable"
|
||||
Type="SchemaExplorer.TableSchema"
|
||||
Category="Context"
|
||||
Description="连接的数据库"
|
||||
OnChanged="OnSourceDatabaseChanged"%>
|
||||
|
||||
<%@ Property Name="ModuleName"
|
||||
Type="System.String"
|
||||
Description="模块名称,如:User"%>
|
||||
<%@ Property Name="directory"
|
||||
Type="System.String"
|
||||
Default=".\"
|
||||
Optional="True"
|
||||
Description="代码生成路径"
|
||||
Editor="System.Windows.Forms.Design.FolderNameEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %>
|
||||
|
||||
<%@ Property Name="NeedViewModel"
|
||||
Type="Boolean"
|
||||
Default="False"
|
||||
Optional="True"
|
||||
Description="是否需要ViewModel" %>
|
||||
|
||||
|
||||
<%@ Register Name="ApplicationGenerateClass"
|
||||
Template="Web\Application.cst"
|
||||
MergeProperties="False" %>
|
||||
<%@ Register Name="HtmlGenerateClass"
|
||||
Template="Web\Index.cshtml.cst"
|
||||
MergeProperties="False" %>
|
||||
<%@ Register Name="JSGenerateClass"
|
||||
Template="Web\index.js.cst"
|
||||
MergeProperties="False" %>
|
||||
Generating Entities ...
|
||||
<% Generate(); %>
|
||||
|
||||
<script runat="template">
|
||||
public void Generate()
|
||||
{
|
||||
Stopwatch watch = Stopwatch.StartNew();
|
||||
string outputDirectory = Path.GetFullPath(directory);
|
||||
|
||||
if (!Directory.Exists(directory)) //根目录
|
||||
Directory.CreateDirectory(directory);
|
||||
|
||||
if (!Directory.Exists(directory +"/views")) //视图根文件夹
|
||||
Directory.CreateDirectory(directory +"/views");
|
||||
|
||||
if (!Directory.Exists(directory +"/js")) //js根目录
|
||||
Directory.CreateDirectory(directory +"/js");
|
||||
|
||||
if (!Directory.Exists(directory +"/views/"+ModuleName +"Manager")) //视图文件夹
|
||||
Directory.CreateDirectory(directory +"/views/"+ModuleName +"Manager");
|
||||
|
||||
CreateApplicationClass();
|
||||
CreateHtmlClass();
|
||||
CreateJSClass();
|
||||
|
||||
this.RegisterReference("System.Configuration");
|
||||
this.RegisterReference("System.Data");
|
||||
this.RegisterReference("System.Data.Entity");
|
||||
this.RegisterReference("System.Runtime.Serialization");
|
||||
this.RegisterReference("EntityFramework");
|
||||
|
||||
watch.Stop();
|
||||
Response.WriteLine("Generate Time: " + watch.ElapsedMilliseconds + " ms");
|
||||
}
|
||||
|
||||
//创建APP层,如UserManagerApp.cs
|
||||
public void CreateApplicationClass()
|
||||
{
|
||||
ApplicationGenerateClass generatedClass = this.Create<ApplicationGenerateClass>();
|
||||
this.CopyPropertiesTo(generatedClass);
|
||||
|
||||
string rootDirectory = Path.GetFullPath(directory);
|
||||
|
||||
string generatedFile = ModuleName + "ManagerApp.cs";
|
||||
generatedFile = Path.Combine(rootDirectory, generatedFile);
|
||||
|
||||
generatedClass.ModuleName = ModuleName;
|
||||
generatedClass.NeedViewModel = NeedViewModel;
|
||||
|
||||
Response.WriteLine(generatedFile);
|
||||
generatedClass.RenderToFile(generatedFile, generatedFile, true);
|
||||
}
|
||||
|
||||
//创建视图,如views/Users/index.html
|
||||
public void CreateHtmlClass()
|
||||
{
|
||||
HtmlGenerateClass generatedClass = this.Create<HtmlGenerateClass>();
|
||||
this.CopyPropertiesTo(generatedClass);
|
||||
|
||||
string generatedFile = Path.GetFullPath(directory) + "/views/"+ModuleName+"Manager/" + "index.cshtml";
|
||||
|
||||
generatedClass.ModuleName = ModuleName;
|
||||
generatedClass.SourceTable = SourceTable;
|
||||
|
||||
Response.WriteLine(generatedFile);
|
||||
generatedClass.RenderToFile(generatedFile, generatedFile, true);
|
||||
}
|
||||
|
||||
//创建视图,如js/userManager.js
|
||||
public void CreateJSClass()
|
||||
{
|
||||
JSGenerateClass generatedClass = this.Create<JSGenerateClass>();
|
||||
this.CopyPropertiesTo(generatedClass);
|
||||
|
||||
string generatedFile = Path.GetFullPath(directory) + "/js/"+ModuleName+"Manager.js";
|
||||
|
||||
generatedClass.ModuleName = ModuleName;
|
||||
|
||||
Response.WriteLine(generatedFile);
|
||||
generatedClass.RenderToFile(generatedFile, generatedFile, true);
|
||||
}
|
||||
|
||||
|
||||
//更换数据源时,改变ModuleName
|
||||
private void OnSourceDatabaseChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (SourceTable == null)
|
||||
return;
|
||||
ModuleName = SourceTable.Name;
|
||||
}
|
||||
|
||||
<%@ Template Language="C#" TargetLanguage="Text" Debug="True" OutputType="None" %>
|
||||
|
||||
<%@ Assembly Name="SchemaExplorer" %>
|
||||
<%@ Assembly Name="CodeSmith.CustomProperties" %>
|
||||
|
||||
<%@ Assembly Name="Mono.Cecil" Path="..\Common" %>
|
||||
<%@ Assembly Name="ICSharpCode.NRefactory" Path="..\Common" %>
|
||||
<%@ Assembly Name="ICSharpCode.NRefactory.CSharp" Path="..\Common" %>
|
||||
|
||||
<%@ Assembly Src="Internal\Model.cs" %>
|
||||
<%@ Assembly Src="Internal\Extensions.cs" %>
|
||||
<%@ Assembly Src="Internal\Generator.cs" %>
|
||||
<%@ Assembly Src="Internal\Parser.cs" %>
|
||||
|
||||
<%@ Import Namespace="System.Collections.Generic" %>
|
||||
<%@ Import Namespace="System.IO" %>
|
||||
<%@ Import Namespace="System.Linq" %>
|
||||
<%@ Import Namespace="System.Text" %>
|
||||
<%@ Import Namespace="System.Text.RegularExpressions" %>
|
||||
|
||||
<%@ Import Namespace="SchemaMapper" %>
|
||||
|
||||
<%@ Property Name="SourceTable"
|
||||
Type="SchemaExplorer.TableSchema"
|
||||
Category="Context"
|
||||
Description="连接的数据库"
|
||||
OnChanged="OnSourceDatabaseChanged"%>
|
||||
|
||||
<%@ Property Name="ModuleName"
|
||||
Type="System.String"
|
||||
Description="模块名称,如:User"%>
|
||||
<%@ Property Name="directory"
|
||||
Type="System.String"
|
||||
Default=".\"
|
||||
Optional="True"
|
||||
Description="代码生成路径"
|
||||
Editor="System.Windows.Forms.Design.FolderNameEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %>
|
||||
|
||||
<%@ Property Name="NeedViewModel"
|
||||
Type="Boolean"
|
||||
Default="False"
|
||||
Optional="True"
|
||||
Description="是否需要ViewModel" %>
|
||||
|
||||
|
||||
<%@ Register Name="ApplicationGenerateClass"
|
||||
Template="Web\Application.cst"
|
||||
MergeProperties="False" %>
|
||||
<%@ Register Name="HtmlGenerateClass"
|
||||
Template="Web\Index.cshtml.cst"
|
||||
MergeProperties="False" %>
|
||||
<%@ Register Name="JSGenerateClass"
|
||||
Template="Web\index.js.cst"
|
||||
MergeProperties="False" %>
|
||||
Generating Entities ...
|
||||
<% Generate(); %>
|
||||
|
||||
<script runat="template">
|
||||
public void Generate()
|
||||
{
|
||||
Stopwatch watch = Stopwatch.StartNew();
|
||||
string outputDirectory = Path.GetFullPath(directory);
|
||||
|
||||
if (!Directory.Exists(directory)) //根目录
|
||||
Directory.CreateDirectory(directory);
|
||||
|
||||
if (!Directory.Exists(directory +"/views")) //视图根文件夹
|
||||
Directory.CreateDirectory(directory +"/views");
|
||||
|
||||
if (!Directory.Exists(directory +"/js")) //js根目录
|
||||
Directory.CreateDirectory(directory +"/js");
|
||||
|
||||
if (!Directory.Exists(directory +"/views/"+ModuleName +"Manager")) //视图文件夹
|
||||
Directory.CreateDirectory(directory +"/views/"+ModuleName +"Manager");
|
||||
|
||||
CreateApplicationClass();
|
||||
CreateHtmlClass();
|
||||
CreateJSClass();
|
||||
|
||||
this.RegisterReference("System.Configuration");
|
||||
this.RegisterReference("System.Data");
|
||||
this.RegisterReference("System.Data.Entity");
|
||||
this.RegisterReference("System.Runtime.Serialization");
|
||||
this.RegisterReference("EntityFramework");
|
||||
|
||||
watch.Stop();
|
||||
Response.WriteLine("Generate Time: " + watch.ElapsedMilliseconds + " ms");
|
||||
}
|
||||
|
||||
//创建APP层,如UserManagerApp.cs
|
||||
public void CreateApplicationClass()
|
||||
{
|
||||
ApplicationGenerateClass generatedClass = this.Create<ApplicationGenerateClass>();
|
||||
this.CopyPropertiesTo(generatedClass);
|
||||
|
||||
string rootDirectory = Path.GetFullPath(directory);
|
||||
|
||||
string generatedFile = ModuleName + "ManagerApp.cs";
|
||||
generatedFile = Path.Combine(rootDirectory, generatedFile);
|
||||
|
||||
generatedClass.ModuleName = ModuleName;
|
||||
generatedClass.NeedViewModel = NeedViewModel;
|
||||
|
||||
Response.WriteLine(generatedFile);
|
||||
generatedClass.RenderToFile(generatedFile, generatedFile, true);
|
||||
}
|
||||
|
||||
//创建视图,如views/Users/index.html
|
||||
public void CreateHtmlClass()
|
||||
{
|
||||
HtmlGenerateClass generatedClass = this.Create<HtmlGenerateClass>();
|
||||
this.CopyPropertiesTo(generatedClass);
|
||||
|
||||
string generatedFile = Path.GetFullPath(directory) + "/views/"+ModuleName+"Manager/" + "index.cshtml";
|
||||
|
||||
generatedClass.ModuleName = ModuleName;
|
||||
generatedClass.SourceTable = SourceTable;
|
||||
|
||||
Response.WriteLine(generatedFile);
|
||||
generatedClass.RenderToFile(generatedFile, generatedFile, true);
|
||||
}
|
||||
|
||||
//创建视图,如js/userManager.js
|
||||
public void CreateJSClass()
|
||||
{
|
||||
JSGenerateClass generatedClass = this.Create<JSGenerateClass>();
|
||||
this.CopyPropertiesTo(generatedClass);
|
||||
|
||||
string generatedFile = Path.GetFullPath(directory) + "/js/"+ModuleName+"Manager.js";
|
||||
|
||||
generatedClass.ModuleName = ModuleName;
|
||||
|
||||
Response.WriteLine(generatedFile);
|
||||
generatedClass.RenderToFile(generatedFile, generatedFile, true);
|
||||
}
|
||||
|
||||
|
||||
//更换数据源时,改变ModuleName
|
||||
private void OnSourceDatabaseChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (SourceTable == null)
|
||||
return;
|
||||
ModuleName = SourceTable.Name;
|
||||
}
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user