This commit is contained in:
yubao
2017-12-18 22:37:51 +08:00
parent 2716e2567b
commit b96a5630f9
13 changed files with 494 additions and 34 deletions

View File

@@ -5,7 +5,6 @@ Description: Create a list of properties from a database table
--%>
<%@ CodeTemplate Language="C#" Encoding="utf-8" TargetLanguage="C#" Debug="False" Description="应用层" %>
<%@ Property Name="ModuleName" Type="String" Category="Context" Description="模块名称" %>
<%@ Property Name="NeedViewModel" Type="Boolean" Category="Context" Default="False" Description="是否需要ViewModel" %>
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
@@ -73,10 +72,9 @@ namespace OpenAuth.App
public void Update(<%=ModuleName%> obj)
{
UnitWork.Update<User>(u => u.Id == obj.Id, u => new User
UnitWork.Update<<%=ModuleName%>>(u => u.Id == obj.Id, u => new <%=ModuleName%>
{
Name = role.Name,
Status = role.Status
//todo:要修改的
});
}

View File

@@ -20,19 +20,18 @@ using OpenAuth.Mvc.Models;
namespace OpenAuth.Mvc.Controllers
{
public class <%=ModuleName%>ManagerController : BaseController
public class <%=ModuleName%>sController : BaseController
{
public <%=ModuleName%>App App { get; set; }
//
// GET: /UserManager/
[Authenticate]
public ActionResult Index()
{
return View();
}
//添加或修改组织
//添加或修改
[System.Web.Mvc.HttpPost]
public string Add(<%=ModuleName%> obj)
{
@@ -49,7 +48,7 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改组织
//添加或修改
[System.Web.Mvc.HttpPost]
public string Update(<%=ModuleName%> obj)
{
@@ -67,7 +66,7 @@ namespace OpenAuth.Mvc.Controllers
}
/// <summary>
/// 加载组织下面的所有用户
/// 加载列表
/// </summary>
public string Load([FromUri]Query<%=ModuleName%>ListReq request)
{

View File

@@ -19,17 +19,7 @@ Description="连接的数据库" %>
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
<div class="layui-inline">
<div class="layui-input-inline">
<input class="layui-input" placeholder="请输入关键字"
name="key" id="key" autocomplete="off">
</div>
<button class="layui-btn" data-type="search">搜索</button>
</div>
@Html.Action("MenuHeader", "Home")
@*<button class="layui-btn " data-type="refresh">刷新</button>
<button class="layui-btn " data-type="addData">添加</button>
<button class="layui-btn layui-btn-danger" data-type="del">批量删除</button>*@
</blockquote>
<div style="display: flex;">
@@ -96,10 +86,17 @@ Description="连接的数据库" %>
</div>
</div>
<%} %>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formSubmit">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/js/<%=ModuleName%>Manager.js"></script>
<script type="text/javascript" src="/js/<%=ModuleName%>s.js"></script>

View File

@@ -29,7 +29,7 @@ layui.config({
$.extend(config, options);
}
table.reload('mainList', {
url: '/<%=ModuleName%>Manager/Load',
url: '/<%=ModuleName%>s/Load',
where: config
});
}
@@ -91,9 +91,9 @@ layui.config({
},
end: mainList
});
var url = "/<%=ModuleName%>Manager/Add";
var url = "/<%=ModuleName%>s/Add";
if (update) {
url = "/<%=ModuleName%>Manager/Update";
url = "/<%=ModuleName%>s/Update";
}
//提交数据
form.on('submit(formSubmit)',
@@ -135,7 +135,7 @@ layui.config({
btnDel: function () { //批量删除
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
openauth.del("/<%=ModuleName%>Manager/Delete",
openauth.del("/<%=ModuleName%>s/Delete",
data.map(function (e) { return e.Id; }),
mainList);
}

View File

@@ -45,6 +45,9 @@ OnChanged="OnSourceDatabaseChanged"%>
<%@ Register Name="JSGenerateClass"
Template="Web\index.js.cst"
MergeProperties="False" %>
<%@ Register Name="ControllerGenerateClass"
Template="Web\Controller.cst"
MergeProperties="False" %>
Generating Entities ...
<% Generate(); %>
@@ -57,6 +60,9 @@ Generating Entities ...
if (!Directory.Exists(directory)) //根目录
Directory.CreateDirectory(directory);
if (!Directory.Exists(directory +"/controllers")) //controller目录
Directory.CreateDirectory(directory +"/controllers");
if (!Directory.Exists(directory +"/views")) //视图根文件夹
Directory.CreateDirectory(directory +"/views");
@@ -66,6 +72,7 @@ Generating Entities ...
if (!Directory.Exists(directory +"/views/"+ModuleName +"Manager")) //视图文件夹
Directory.CreateDirectory(directory +"/views/"+ModuleName +"Manager");
CreateControllerClass();
CreateApplicationClass();
CreateHtmlClass();
CreateJSClass();
@@ -80,6 +87,23 @@ Generating Entities ...
Response.WriteLine("Generate Time: " + watch.ElapsedMilliseconds + " ms");
}
//创建控制器,如UserManagerController.cs
public void CreateControllerClass()
{
ControllerGenerateClass generatedClass = this.Create<ControllerGenerateClass>();
this.CopyPropertiesTo(generatedClass);
string rootDirectory = Path.GetFullPath(directory);
string generatedFile ="controllers" + ModuleName + "sController.cs";
generatedFile = Path.Combine(rootDirectory, generatedFile);
generatedClass.ModuleName = ModuleName;
Response.WriteLine(generatedFile);
generatedClass.RenderToFile(generatedFile, generatedFile, true);
}
//创建APP层,如UserManagerApp.cs
public void CreateApplicationClass()
{
@@ -88,11 +112,10 @@ Generating Entities ...
string rootDirectory = Path.GetFullPath(directory);
string generatedFile = ModuleName + "ManagerApp.cs";
string generatedFile = ModuleName + "App.cs";
generatedFile = Path.Combine(rootDirectory, generatedFile);
generatedClass.ModuleName = ModuleName;
generatedClass.NeedViewModel = NeedViewModel;
Response.WriteLine(generatedFile);
generatedClass.RenderToFile(generatedFile, generatedFile, true);
@@ -104,7 +127,7 @@ Generating Entities ...
HtmlGenerateClass generatedClass = this.Create<HtmlGenerateClass>();
this.CopyPropertiesTo(generatedClass);
string generatedFile = Path.GetFullPath(directory) + "/views/"+ModuleName+"Manager/" + "index.cshtml";
string generatedFile = Path.GetFullPath(directory) + "/views/"+ModuleName+"s/index.cshtml";
generatedClass.ModuleName = ModuleName;
generatedClass.SourceTable = SourceTable;
@@ -119,7 +142,7 @@ Generating Entities ...
JSGenerateClass generatedClass = this.Create<JSGenerateClass>();
this.CopyPropertiesTo(generatedClass);
string generatedFile = Path.GetFullPath(directory) + "/js/"+ModuleName+"Manager.js";
string generatedFile = Path.GetFullPath(directory) + "/js/"+ModuleName+"s.js";
generatedClass.ModuleName = ModuleName;
@@ -131,7 +154,7 @@ Generating Entities ...
//更换数据源时改变ModuleName
private void OnSourceDatabaseChanged(object sender, EventArgs e)
{
if (SourceTable == null)
if (SourceTable == null || ModuleName != null)
return;
ModuleName = SourceTable.Name;
}