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> LoadInOrgs(params int[] orgId);
int GetUserCount(params int[] orgIds);
int GetUserCntInOrgs(params int[] orgIds);
IEnumerable<User> LoadInOrgs(int pageindex, int pagesize, params int[] orgIds);
/// <summary>
/// 添加用户
/// </summary>
void AddWithOrg(User user, params int[] orgIds);
void SetOrg(int userId, params int[] orgIds);
/// <summary>
/// 删除用户及与该用户相关的信息

View File

@ -1,10 +1,7 @@
using Infrastructure;
using OpenAuth.App;
using OpenAuth.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System;
using System.Web.Mvc;
using Infrastructure;
using OpenAuth.App;
using OpenAuth.App.ViewModel;
namespace OpenAuth.Mvc.Controllers
@ -25,33 +22,19 @@ namespace OpenAuth.Mvc.Controllers
return View();
}
public ActionResult Add()
public ActionResult Add(int id = 0)
{
return View();
return View(_app.Find(id));
}
//添加组织提交
[HttpPost]
public string Add(UserView org)
public string Add(UserView view)
{
try
{
int[] orgIds = org.OrganizationIds.Split(',').Select(id => int.Parse(id)).ToArray();
_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);
_app.AddOrUpdate(view);
}
catch (Exception ex)
{
@ -64,9 +47,15 @@ namespace OpenAuth.Mvc.Controllers
/// <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)

View File

@ -29,6 +29,7 @@
$('#@_gridId').datagrid({
gridTitle: '机构列表显示',
showToolbar: true,
filterThead: false,
toolbarItem: 'refresh, |, del,edit',
toolbarCustom: '<a href="/OrgManager/AddOrg" class="btn btn-green" data-icon ="plus" ' +
'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
</script>

View File

@ -3,6 +3,7 @@
var _treeId = _prefix + "Tree";
var _gridId = _prefix + "Grid";
var _treeDetail = _prefix + "Detail";
var _pageId = _prefix + "Page";
}
<div class="bjui-pageContent">
<div class="clearfix">
@ -10,11 +11,15 @@
<ul id="@_treeId" class="ztree"></ul>
</div>
<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 id="@_treeDetail" style="margin-left: 225px; width: auto; height: auto">
</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">
var gridid = '#@_gridId';
@ -34,13 +39,22 @@
function initGrid(data) {
//b-jui的datagrid需要重新处理HTML
$('#@_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({
gridTitle: '用户列表',
showToolbar: true,
toolbarItem: 'refresh, |, del,edit',
filterThead: false,
toolbarItem: 'refresh, |, del',
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: [
{
name: 'Id',
@ -149,12 +163,13 @@
return null;
}
//todo下面这段只能chrome有效
var records = new Array();
selected.each(function () {
records[records.length] = this.children[column].innerText;
});
return records;
return records[0];
}
@ -164,6 +179,8 @@
var selected = getSelected(2);
if (selected == null) return;
$(this).dialog({ id: 'editDialog', url: '/UserManager/Add?id='+selected, title: '编辑' });
}
//@@ sourceURL=userManagerIndex.js
</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();
}
@ -41,16 +41,18 @@ namespace OpenAuth.Repository
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())
{
Add(user);
Save();
Context.UserOrgs.Where(u => u.UserId == userId).Delete();
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();
ts.Complete();