170 lines
7.0 KiB
C#
170 lines
7.0 KiB
C#
using HL_FristAidPlatform_Help;
|
|
using HL_FristAidPlatform_IDataBase;
|
|
using HL_FristAidPlatform_Models;
|
|
using SqlSugar;
|
|
using System.Collections.Generic;
|
|
|
|
namespace HL_FristAidPlatform_DataBase
|
|
{
|
|
public class T_SYS_MenuDB : BaseDB, IT_SYS_Menu
|
|
{
|
|
public SqlSugarClient db = GetClient();
|
|
|
|
/// <summary>
|
|
/// 增加一条数据
|
|
/// </summary>
|
|
public T_SYS_Menu Add(T_SYS_Menu menu)
|
|
{
|
|
//return db.Insert(menu);
|
|
T_SYS_Menu model = db.Insertable(menu).IgnoreColumns(it => new { it.ID }).ExecuteReturnEntity();
|
|
return model;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除一条数据
|
|
/// </summary>
|
|
public bool Dels(dynamic[] ids)
|
|
{
|
|
return db.Deleteable<T_SYS_Menu>().In(new dynamic[] { ids }).ExecuteCommand() == 1 ? true : false;
|
|
}
|
|
|
|
public T_SYS_Menu Get(long id)
|
|
{
|
|
return db.Queryable<T_SYS_Menu>().First(it => it.ID == id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页列表
|
|
/// </summary>
|
|
/// <param name="pageIndex">起始页</param>
|
|
/// <param name="pageSize">每页大小</param>
|
|
/// <param name="keyWord">查询关键词</param>
|
|
/// <param name="systemModuleID">所属系统模块</param>
|
|
/// <returns></returns>
|
|
public TableModel<T_SYS_MenuModel> GetPageList(int pageIndex, int pageSize, string keyWord, long systemModuleID)
|
|
{
|
|
int TotalNumber = 0;
|
|
TableModel<T_SYS_MenuModel> t = new TableModel<T_SYS_MenuModel>();
|
|
|
|
var listMode = db.Queryable<T_SYS_Menu, T_SYS_Menu, T_SYS_SystemModule>((Menu, Parent, System) => new object[] {
|
|
JoinType.Left,Menu.ParentID==Parent.ID,
|
|
JoinType.Left,Menu.SystemModuleID==System.ID,
|
|
}).Where((Menu, Parent) => Menu.DeleteFlag == 0).WhereIF(systemModuleID > 0, (Menu, Parent) => Menu.SystemModuleID == systemModuleID).WhereIF(!string.IsNullOrEmpty(keyWord), (Menu, Parent) => Menu.MenuName.Contains(keyWord) || Menu.ShortName.Contains(keyWord))
|
|
.Select((Menu, Parent, System) => new T_SYS_MenuModel
|
|
{
|
|
ID = Menu.ID,
|
|
GUID = Menu.GUID.ToString(),
|
|
ParentID = Menu.ParentID,
|
|
MenuName = Menu.MenuName,
|
|
ShortName = Menu.ShortName,
|
|
DLLName = Menu.DLLName,
|
|
FunctionName = Menu.FunctionName,
|
|
Icon = Menu.Icon,
|
|
IconData = Menu.IconData,
|
|
OrderBy = Menu.OrderBy,
|
|
DeleteFlag = Menu.DeleteFlag,
|
|
SystemModuleID = Menu.SystemModuleID,
|
|
ParentName = Parent.MenuName.ToString(),
|
|
SystemModule = System.SystemName,
|
|
}).OrderBy((Menu) => Menu.OrderBy).ToPageList(pageIndex, pageSize, ref TotalNumber);
|
|
|
|
t.Code = 0;
|
|
t.PageCount = listMode.Count;
|
|
t.TotalNumber = TotalNumber;
|
|
t.Data = listMode;
|
|
t.Msg = "成功";
|
|
return t;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取列表-无分页
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public TableModel<T_SYS_Menu> GetList()
|
|
{
|
|
List<T_SYS_Menu> data = db.Queryable<T_SYS_Menu>().Where(iterator => iterator.DeleteFlag == 0).ToList();
|
|
TableModel<T_SYS_Menu> t = new TableModel<T_SYS_Menu>();
|
|
t.Code = 0;
|
|
t.TotalNumber = data.Count;
|
|
t.Data = data;
|
|
t.Msg = "成功";
|
|
return t;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据系统模块编号获取列表
|
|
/// </summary>
|
|
/// <param name="systemModuleID">系统模块编号</param>
|
|
/// <returns></returns>
|
|
public TableModel<T_SYS_Menu> GetListBySystemModuleID(long systemModuleID)
|
|
{
|
|
List<T_SYS_Menu> data = db.Queryable<T_SYS_Menu>().Where(it => it.SystemModuleID == systemModuleID && it.DeleteFlag == 0).ToList();
|
|
TableModel<T_SYS_Menu> t = new TableModel<T_SYS_Menu>();
|
|
t.Code = 0;
|
|
t.TotalNumber = data.Count;
|
|
t.Data = data;
|
|
t.Msg = "成功";
|
|
return t;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 逻辑删除
|
|
/// </summary>
|
|
/// <param name="id">编号</param>
|
|
/// <param name="deleteFlag">标记:0取消删除 1删除</param>
|
|
/// <returns></returns>
|
|
public int LogicalDelete(long id, int deleteFlag)
|
|
{
|
|
//return db.Updateable<T_SYS_Menu>().UpdateColumns(it => new T_SYS_Menu() { DeleteFlag = deleteFlag }).Where(it => it.ID == id).ExecuteCommand();
|
|
//return db.Updateable<T_SYS_Menu>().SetColumns(it => it.DeleteFlag == deleteFlag).Where(it => it.ID == id).ExecuteCommand();
|
|
//return db.Updateable<T_SYS_Menu>(it => new T_SYS_Menu() { DeleteFlag = deleteFlag }).Where(it => it.ID == id).ExecuteCommand();
|
|
return db.Updateable<T_SYS_Menu>(it => it.DeleteFlag == deleteFlag).Where(it => it.ID == id).ExecuteCommand();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新一条数据
|
|
/// </summary>
|
|
public bool Update(T_SYS_Menu menu)
|
|
{
|
|
return db.Updateable(menu).IgnoreColumns(ignoreAllNullColumns: true).WhereColumns(it => new { it.ID }).ExecuteCommand() == 1 ? true : false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据用户编号获取所拥有的菜单权限
|
|
/// </summary>
|
|
/// <param name="userID">用户编号</param>
|
|
/// <param name="systemModuleID">所属系统模块-1表示不分系统模块查询菜单即查询出所有得系统菜单</param>
|
|
/// <returns></returns>
|
|
public TableModel<T_SYS_Menu> GetListByUserID(long userID, long systemModuleID)
|
|
{
|
|
TableModel<T_SYS_Menu> t = new TableModel<T_SYS_Menu>();
|
|
|
|
var listMode = db.Queryable<T_SYS_Menu, T_SYS_RoleMenu, T_SYS_UserRole>((Menu, RoleMenu, UserRole) => new object[] {
|
|
JoinType.Left,RoleMenu.MenuID==Menu.ID,
|
|
JoinType.Left,RoleMenu.RoleID==UserRole.RoleID,
|
|
}).Where((Menu, RoleMenu, UserRole) => UserRole.UserID == userID && Menu.DeleteFlag == 0 && RoleMenu.DeleteFlag == 0 && UserRole.DeleteFlag == 0).WhereIF(systemModuleID > 0, (Menu, RoleMenu, UserRole) => Menu.SystemModuleID == systemModuleID).Select((Menu, RoleMenu, UserRole) => new T_SYS_Menu
|
|
{
|
|
ID = Menu.ID,
|
|
GUID = Menu.GUID.ToString(),
|
|
ParentID = Menu.ParentID,
|
|
MenuName = Menu.MenuName,
|
|
ShortName = Menu.ShortName,
|
|
DLLName = Menu.DLLName,
|
|
FunctionName = Menu.FunctionName,
|
|
Icon = Menu.Icon,
|
|
IconData = Menu.IconData,
|
|
OrderBy = Menu.OrderBy,
|
|
DeleteFlag = Menu.DeleteFlag,
|
|
}).PartitionBy(Menu => new { Menu.ID }).Take(1).OrderBy((Menu) => Menu.OrderBy).ToList();
|
|
|
|
t.Code = 0;
|
|
t.PageCount = listMode.Count;
|
|
t.TotalNumber = listMode.Count;
|
|
t.Data = listMode;
|
|
t.Msg = "成功";
|
|
return t;
|
|
}
|
|
}
|
|
}
|