美文网首页RDIFramework.NET.NET
RDIFramework.NET ━ .NET快速信息化系统开发

RDIFramework.NET ━ .NET快速信息化系统开发

作者: NET快速开发框架 | 来源:发表于2017-07-23 16:34 被阅读86次

模块(菜单)的排序是每个系统都必须要有的功能,我们框架模块的排序在业务逻辑中已经体现。

WinForm版本可以直接在界面上对模块进行排序以控制模块展示的顺序。Web版本在3.2版本中也新增了直接可以模块管理界面对模块进行排序的人性化操作,大大的方便了管理人员。模块的排序在模块管理主界面分页按钮的右侧如下图所示。

三个按钮功能分别为:上移、下移、确认修改

WebMVC部分,模块排序功能代码参考:

```

/// 保存模块排序功能

/// 

/// 父节点

/// 数据行

/// 

[HttpPost]

[ValidateInput(false)]

[LoginAuthorize]

publicvirtualActionResult SaveSort(stringparentId,stringrows)

{

stringmessage = RDIFrameworkMessage.MSG0001;

try

{

if(!IsAuthorized("ModuleManagement.Edit"))

{

returnContent(newJsonMessage { Success =false, Data ="0", Message ="你没有权限操作!"}.ToString());

}

intreturnUpdateValue = 0;

RDIFramework.Utilities.UserInfo curUser = ManageProvider.Provider.Current();

if(!string.IsNullOrEmpty(parentId))

{

var dtModule = RDIFrameworkService.Instance.ModuleService.GetDTByParent(curUser, parentId);

var moduleOldSort =newList>();

if(dtModule !=null&& dtModule.Rows.Count > 0)

{

moduleOldSort.AddRange(from DataRow rowindtModule.Rows select BaseEntity.Create(row) into moduleEntity selectnewKeyValuePair(moduleEntity.Id, moduleEntity.SortCode));

}

var moduleNewSort =newList>();

//把json字符串转换成对象

List listRows = rows?.JonsToList();

if(listRows !=null&& listRows.Count > 0)

{

moduleNewSort.AddRange(listRows.Select(entity =>newKeyValuePair(entity.Id, entity.SortCode)));

}

if(moduleNewSort.Count > 0 && moduleOldSort.Count > 0 && moduleNewSort.Count == moduleOldSort.Count)

{

for(intindex = 0; index < moduleOldSort.Count; index++)

{

moduleOldSort[index] = moduleNewSort[index];

}

foreach(var parElementinmoduleOldSort)

{

PiModuleEntity updateEntity = RDIFrameworkService.Instance.ModuleService.GetEntity(curUser,parElement.Key);

if(updateEntity.SortCode !=null&& parElement.Value !=null&& !updateEntity.SortCode.Equals(BusinessLogic.ConvertToInt32(parElement.Value)))

{

updateEntity.SortCode = BusinessLogic.ConvertToInt32(parElement.Value);

stringstatusCode;

stringstatusMessage;

RDIFrameworkService.Instance.ModuleService.Update(curUser, updateEntity,outstatusCode,outstatusMessage);

returnUpdateValue += statusCode == RDIFramework.Utilities.StatusCode.OKUpdate.ToString()? 1: 0;

}

}

if(returnUpdateValue > 0)

{

message ="操作提示:"+" 
排序保存成功,更新数据:"+ returnUpdateValue.ToString() +"条。";

returnContent(newJsonMessage {Success =true, Data ="1", Message = message}.ToString());

}

message ="操作提示:"+" 
没有排序数据被修改。";

returnContent(newJsonMessage { Success =true, Data ="1", Message = message }.ToString());

}

message ="操作提示:"+" 
当前操作的记录条件与原记录条件不符。";

returnContent(newJsonMessage { Success =false, Data ="0", Message = message }.ToString());

}

message ="操作提示:"+" 
请选择一个父级节点再操作。";

returnContent(newJsonMessage { Success =false, Data ="0", Message = message }.ToString());

}

catch(Exception ex)

{

returnContent(newJsonMessage { Success =false, Data ="0", Message ="操作失败:"+ ex.Message }.ToString());

}

}

```

相关文章:

RDIFramework 平台代码生成器V3.2 发布版

RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

RDIFramework.NET ━ .NET快速信息化系统开发框架 ━工作流程组件介绍

一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。

RDIFramework.NET官方网站:http://www.rdiframework.net/

RDIFramework.NET官方博客:http://blog.rdiframework.net/

同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!

RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!

欢迎关注RDIFramework.NET框架官方公众微信(微信号:guosisoft),及时了解最新动态。

扫描二维码立即关注

相关文章

网友评论

本文标题:RDIFramework.NET ━ .NET快速信息化系统开发

本文链接:https://www.haomeiwen.com/subject/mtemkxtx.html