Routine Update

This commit is contained in:
yubaolee 2015-11-15 00:13:49 +08:00
parent e85e1f03fc
commit d877b8bfa7
5 changed files with 49 additions and 72 deletions

View File

@ -8,13 +8,10 @@ namespace OpenAuth.Domain.Interface
IEnumerable<User> LoadUsers(); IEnumerable<User> LoadUsers();
IEnumerable<User> LoadInOrgs(params int[] orgId); IEnumerable<User> LoadInOrgs(params int[] orgId);
int GetUserCount(params int[] orgIds); int GetUserCntInOrgs(params int[] orgIds);
IEnumerable<User> LoadInOrgs(int pageindex, int pagesize, params int[] orgIds); IEnumerable<User> LoadInOrgs(int pageindex, int pagesize, params int[] orgIds);
/// <summary> void SetOrg(int userId, params int[] orgIds);
/// 添加用户
/// </summary>
void AddWithOrg(User user, params int[] orgIds);
/// <summary> /// <summary>
/// 删除用户及与该用户相关的信息 /// 删除用户及与该用户相关的信息

View File

@ -1,10 +1,7 @@
using Infrastructure; using System;
using OpenAuth.App;
using OpenAuth.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc; using System.Web.Mvc;
using Infrastructure;
using OpenAuth.App;
using OpenAuth.App.ViewModel; using OpenAuth.App.ViewModel;
namespace OpenAuth.Mvc.Controllers namespace OpenAuth.Mvc.Controllers
@ -25,33 +22,19 @@ namespace OpenAuth.Mvc.Controllers
return View(); return View();
} }
public ActionResult Add() public ActionResult Add(int id = 0)
{ {
return View(); return View(_app.Find(id));
} }
//添加组织提交 //添加组织提交
[HttpPost] [HttpPost]
public string Add(UserView org) public string Add(UserView view)
{ {
try try
{ {
int[] orgIds = org.OrganizationIds.Split(',').Select(id => int.Parse(id)).ToArray(); _app.AddOrUpdate(view);
_app.Add(org, orgIds);
}
catch (Exception ex)
{
BjuiResponse.statusCode = "300";
BjuiResponse.message = ex.Message;
}
return JsonHelper.Instance.Serialize(BjuiResponse);
}
public string Edit(string json)
{
try
{
var org = JsonHelper.Instance.Deserialize<User>(json);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -64,9 +47,15 @@ namespace OpenAuth.Mvc.Controllers
/// <summary> /// <summary>
/// 加载组织下面的所有用户 /// 加载组织下面的所有用户
/// </summary> /// </summary>
public string Load(int orgId) public string Load(int orgId, int pageindex = 1, int pagesize = 10)
{ {
return JsonHelper.Instance.Serialize(_app.Load(orgId)); return JsonHelper.Instance.Serialize(_app.Load(orgId, pageindex, pagesize));
}
//获取组织下面用户个数
public int GetCount(int orgId)
{
return _app.GetUserCntInOrg(orgId);
} }
public string Delete(string Id) public string Delete(string Id)

View File

@ -29,6 +29,7 @@
$('#@_gridId').datagrid({ $('#@_gridId').datagrid({
gridTitle: '机构列表显示', gridTitle: '机构列表显示',
showToolbar: true, showToolbar: true,
filterThead: false,
toolbarItem: 'refresh, |, del,edit', toolbarItem: 'refresh, |, del,edit',
toolbarCustom: '<a href="/OrgManager/AddOrg" class="btn btn-green" data-icon ="plus" ' + toolbarCustom: '<a href="/OrgManager/AddOrg" class="btn btn-green" data-icon ="plus" ' +
'data-toggle="dialog" data-id="dialog-mask" data-mask="true">添加</a>' , 'data-toggle="dialog" data-id="dialog-mask" data-mask="true">添加</a>' ,
@ -147,34 +148,5 @@
}); });
} }
//获取勾选的值
//column:为从0开始的列标识
function getSelected(column) {
var selected = $('#@_gridId').data('selectedTrs');
if (selected == null || selected.length == 0) {
$(this).alertmsg('warn', '至少选择一个对象', {
displayMode: 'slide',
title: '重要提示'
});
return null;
}
var records = new Array();
selected.each(function () {
records[records.length] = this.children[column].innerText;
});
return records;
}
//自定义的编辑按钮
function editOrg() {
var selected = getSelected(2);
if (selected == null) return;
}
//@@ sourceURL=orgIndex.js //@@ sourceURL=orgIndex.js
</script> </script>

View File

@ -3,6 +3,7 @@
var _treeId = _prefix + "Tree"; var _treeId = _prefix + "Tree";
var _gridId = _prefix + "Grid"; var _gridId = _prefix + "Grid";
var _treeDetail = _prefix + "Detail"; var _treeDetail = _prefix + "Detail";
var _pageId = _prefix + "Page";
} }
<div class="bjui-pageContent"> <div class="bjui-pageContent">
<div class="clearfix"> <div class="clearfix">
@ -10,11 +11,15 @@
<ul id="@_treeId" class="ztree"></ul> <ul id="@_treeId" class="ztree"></ul>
</div> </div>
<div id="@_treeDetail" style="margin-left: 225px; width: auto;height: auto"> <div id="@_treeDetail" style="margin-left: 225px; width: auto; height: auto">
<table id="@_gridId" data-width="100%" data-height="100%" class="table table-bordered"></table>
</div> </div>
</div> </div>
</div> </div>
<div class="bjui-pageFooter">
<div class="pagination-box" data-toggle="pagination" data-total="10" data-page-size="5" data-page-current="1"></div>
</div>
<script type="text/javascript"> <script type="text/javascript">
var gridid = '#@_gridId'; var gridid = '#@_gridId';
@ -34,13 +39,22 @@
function initGrid(data) { function initGrid(data) {
//b-jui的datagrid需要重新处理HTML //b-jui的datagrid需要重新处理HTML
$('#@_treeDetail').empty() $('#@_treeDetail').empty()
.append('<table id="@_gridId" data-width="100%" data-height="100%" class="table table-bordered"></table>'); .append('<table id="@_gridId" data-width="100%" data-height="auto" class="table table-bordered"></table>'
+'<div id="@_pageId" style="float:right"></div>');
$('#@_pageId').pagination({
total: 10,
pageSize: 10,
pageCurrent: 1,
pageNum:1
});
$(gridid).datagrid({ $(gridid).datagrid({
gridTitle: '用户列表', gridTitle: '用户列表',
showToolbar: true, showToolbar: true,
toolbarItem: 'refresh, |, del,edit', filterThead: false,
toolbarItem: 'refresh, |, del',
toolbarCustom: '<a href="/UserManager/Add" class="btn btn-green" data-icon ="plus" ' + toolbarCustom: '<a href="/UserManager/Add" class="btn btn-green" data-icon ="plus" ' +
'data-toggle="dialog" data-id="dialog-mask" data-mask="true">添加</a>' , 'data-toggle="dialog" data-id="dialog-mask" data-mask="true">添加</a>' +
'<button class=" btn-green" onclick="editOrg()" data-icon="pencil" type="button">编辑</button>',
columns: [ columns: [
{ {
name: 'Id', name: 'Id',
@ -149,12 +163,13 @@
return null; return null;
} }
//todo下面这段只能chrome有效
var records = new Array(); var records = new Array();
selected.each(function () { selected.each(function () {
records[records.length] = this.children[column].innerText; records[records.length] = this.children[column].innerText;
}); });
return records; return records[0];
} }
@ -164,6 +179,8 @@
var selected = getSelected(2); var selected = getSelected(2);
if (selected == null) return; if (selected == null) return;
$(this).dialog({ id: 'editDialog', url: '/UserManager/Add?id='+selected, title: '编辑' });
} }
//@@ sourceURL=userManagerIndex.js //@@ sourceURL=userManagerIndex.js
</script> </script>

View File

@ -31,7 +31,7 @@ namespace OpenAuth.Repository
} }
public int GetUserCount(params int[] orgIds) public int GetUserCntInOrgs(params int[] orgIds)
{ {
return LoadInOrgs(orgIds).Count(); return LoadInOrgs(orgIds).Count();
} }
@ -41,16 +41,18 @@ namespace OpenAuth.Repository
return LoadInOrgs(orgIds).OrderBy(u =>u.Name).Skip((pageindex -1)*pagesize).Take(pagesize); return LoadInOrgs(orgIds).OrderBy(u =>u.Name).Skip((pageindex -1)*pagesize).Take(pagesize);
} }
public void AddWithOrg(User user, params int[] orgIds) /// <summary>
/// 设置用户的机构
/// </summary>
public void SetOrg(int userId, params int[] orgIds)
{ {
using (TransactionScope ts = new TransactionScope()) using (TransactionScope ts = new TransactionScope())
{ {
Add(user); Context.UserOrgs.Where(u => u.UserId == userId).Delete();
Save();
foreach (var orgId in orgIds) foreach (var orgId in orgIds)
{ {
Context.UserOrgs.Add(new UserOrg{OrgId = orgId,UserId = user.Id}); Context.UserOrgs.Add(new UserOrg{OrgId = orgId,UserId = userId});
} }
Save(); Save();
ts.Complete(); ts.Complete();