RDIFramework.NET ━ .NET快速信息化系統(tǒng)開發(fā)框架 V3.2->Web版本模塊管理界面新增模塊排序功能

模塊(菜單)的排序是每個(gè)系統(tǒng)都必須要有的功能,我們框架模塊的排序在業(yè)務(wù)邏輯中已經(jīng)體現(xiàn)。
WinForm版本可以直接在界面上對(duì)模塊進(jìn)行排序以控制模塊展示的順序。Web版本在3.2版本中也新增了直接可以模塊管理界面對(duì)模塊進(jìn)行排序的人性化操作,大大的方便了管理人員。模塊的排序在模塊管理主界面分頁按鈕的右側(cè)如下圖所示。

三個(gè)按鈕功能分別為:上移、下移、確認(rèn)修改
WebMVC部分,模塊排序功能代碼參考:
/// <summary>
/// 保存模塊排序功能
/// </summary>
/// <param name="parentId">父節(jié)點(diǎn)</param>
/// <param name="rows">數(shù)據(jù)行</param>
/// <returns></returns>
[HttpPost]
[ValidateInput(false)]
[LoginAuthorize]
public virtual ActionResult SaveSort(string parentId,string rows)
{
string message = RDIFrameworkMessage.MSG0001;
try
{
if (!IsAuthorized("ModuleManagement.Edit"))
{
return Content(new JsonMessage { Success = false, Data = "0", Message = "你沒有權(quán)限操作!" }.ToString());
}
int returnUpdateValue = 0;
RDIFramework.Utilities.UserInfo curUser = ManageProvider.Provider.Current();
if (!string.IsNullOrEmpty(parentId))
{
var dtModule = RDIFrameworkService.Instance.ModuleService.GetDTByParent(curUser, parentId);
var moduleOldSort = new List<KeyValuePair<string, object>>();
if (dtModule != null && dtModule.Rows.Count > 0)
{
moduleOldSort.AddRange(from DataRow row in dtModule.Rows select BaseEntity.Create<PiModuleEntity>(row) into moduleEntity select new KeyValuePair<string, object>(moduleEntity.Id, moduleEntity.SortCode));
}
var moduleNewSort = new List<KeyValuePair<string, object>>();
//把json字符串轉(zhuǎn)換成對(duì)象
List<PiModuleEntity> listRows = rows?.JonsToList<PiModuleEntity>();
if (listRows != null && listRows.Count > 0)
{
moduleNewSort.AddRange(listRows.Select(entity => new KeyValuePair<string, object>(entity.Id, entity.SortCode)));
}
if (moduleNewSort.Count > 0 && moduleOldSort.Count > 0 && moduleNewSort.Count == moduleOldSort.Count)
{
for (int index = 0; index < moduleOldSort.Count; index++)
{
moduleOldSort[index] = moduleNewSort[index];
}
foreach (var parElement in moduleOldSort)
{
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);
string statusCode;
string statusMessage;
RDIFrameworkService.Instance.ModuleService.Update(curUser, updateEntity, out statusCode,out statusMessage);
returnUpdateValue += statusCode == RDIFramework.Utilities.StatusCode.OKUpdate.ToString()? 1: 0;
}
}
if (returnUpdateValue > 0)
{
message = "操作提示:" + " <br>排序保存成功,更新數(shù)據(jù):" + returnUpdateValue.ToString() + "條。";
return Content(new JsonMessage {Success = true, Data = "1", Message = message}.ToString());
}
message = "操作提示:" + " <br>沒有排序數(shù)據(jù)被修改。";
return Content(new JsonMessage { Success = true, Data = "1", Message = message }.ToString());
}
message = "操作提示:" + " <br>當(dāng)前操作的記錄條件與原記錄條件不符。";
return Content(new JsonMessage { Success = false, Data = "0", Message = message }.ToString());
}
message = "操作提示:" + " <br>請(qǐng)選擇一個(gè)父級(jí)節(jié)點(diǎn)再操作。";
return Content(new JsonMessage { Success = false, Data = "0", Message = message }.ToString());
}
catch (Exception ex)
{
return Content(new JsonMessage { Success = false, Data = "0", Message = "操作失敗:" + ex.Message }.ToString());
}
}
相關(guān)文章:
RDIFramework 平臺(tái)代碼生成器V3.2 發(fā)布版
RDIFramework.NET — 基于.NET的快速信息化系統(tǒng)開發(fā)框架 — 系列目錄
RDIFramework.NET ━ .NET快速信息化系統(tǒng)開發(fā)框架 ━ 工作流程組件介紹
一路走來數(shù)個(gè)年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址了解詳情。
RDIFramework.NET官方網(wǎng)站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同時(shí)需要說明的,以后的所有技術(shù)文章以官方網(wǎng)站為準(zhǔn),歡迎大家收藏!
RDIFramework.NET框架由專業(yè)團(tuán)隊(duì)長期打造、一直在更新、一直在升級(jí),請(qǐng)放心使用!
歡迎關(guān)注RDIFramework.net框架官方公眾微信(微信號(hào):guosisoft),及時(shí)了解最新動(dòng)態(tài)。
掃描二維碼立即關(guān)注

作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機(jī)號(hào))
框架官網(wǎng):
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國思RDIF開發(fā)框架
,
給用戶和開發(fā)者最佳的.Net框架平臺(tái)方案,為企業(yè)快速構(gòu)建跨平臺(tái)、企業(yè)級(jí)的應(yīng)用提供強(qiáng)大支持。
關(guān)于作者:系統(tǒng)架構(gòu)師、信息系統(tǒng)項(xiàng)目管理師、DBA。專注于微軟平臺(tái)項(xiàng)目架構(gòu)、管理和企業(yè)解決方案,多年項(xiàng)目開發(fā)與管理經(jīng)驗(yàn),曾多次組織并開發(fā)多個(gè)大型項(xiàng)目,在面向?qū)ο蟆⒚嫦蚍?wù)以及數(shù)據(jù)庫領(lǐng)域有一定的造詣。現(xiàn)主要從事基于
RDIF
框架的技術(shù)開發(fā)、咨詢工作,主要服務(wù)于金融、醫(yī)療衛(wèi)生、鐵路、電信、物流、物聯(lián)網(wǎng)、制造、零售等行業(yè)。
如有問題或建議,請(qǐng)多多賜教!
本文版權(quán)歸作者和CNBLOGS博客共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯(lián)系我,非常感謝。

浙公網(wǎng)安備 33010602011771號(hào)