StableVersion4.3/HL_FristAidPlatform_DataBase/SYS/T_SYS_RoleDB.cs

92 lines
3.2 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_RoleDB : BaseDB, IT_SYS_Role
{
public SqlSugarClient db = GetClient();
public bool Add(T_SYS_Role role)
{
return db.Insertable(role).IgnoreColumns(it => new { it.ID }).ExecuteCommand() == 1 ? true : false;
}
public bool Dels(dynamic[] ids)
{
return db.Deleteable<T_SYS_Role>().In(new dynamic[] { ids }).ExecuteCommand() == 1 ? true : false;
}
public T_SYS_Role Get(long id)
{
return db.Queryable<T_SYS_Role>().First(it => it.ID == id);
}
public TableModel<T_SYS_Role> GetList(string keyWord, int deleteFlag)
{
TableModel<T_SYS_Role> t = new TableModel<T_SYS_Role>();
var listMode = db.Queryable<T_SYS_Role>().
WhereIF(!string.IsNullOrEmpty(keyWord), (Role) => Role.RoleName.Contains(keyWord)).
WhereIF(deleteFlag != -1, (Role) => Role.DeleteFlag == deleteFlag).
Select((Role) => new T_SYS_Role
{
ID = Role.ID,
GUID = Role.GUID.ToString(),
RoleName = Role.RoleName,
CreatorID = Role.CreatorID,
Creator = Role.Creator,
CreationDate = Role.CreationDate,
Description = Role.Description,
DeleteFlag = Role.DeleteFlag,
}).OrderBy((Role) => Role.ID).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
public int LogicalDelete(long id, int deleteFlag)
{
return db.Updateable<T_SYS_Role>().SetColumns(it => new T_SYS_Role() { DeleteFlag = deleteFlag }).Where(it => it.ID == id).ExecuteCommand();
}
public bool Update(T_SYS_Role role)
{
return db.Updateable(role).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 1 ? true : false;
}
/// <summary>
/// 获取用户未拥有的角色列表
/// </summary>
/// <param name="userID">用户编号</param>
/// <param name="keyWord">关键词</param>
/// <returns></returns>
public TableModel<T_SYS_Role> GetUserNotHaveRoleList(long userID, string keyWord)
{
TableModel<T_SYS_Role> t = new TableModel<T_SYS_Role>();
string SqlStr = "SELECT * FROM T_SYS_Role WHERE ID NOT IN(SELECT RoleID FROM T_SYS_UserRole WHERE UserID = {0} AND DeleteFlag = 0) AND DeleteFlag = 0";
if (!string.IsNullOrEmpty(keyWord))
SqlStr += " And RoleName LIKE '%" + keyWord + "%'";
SqlStr = string.Format(SqlStr, userID);
List<T_SYS_Role> list = db.SqlQueryable<T_SYS_Role>(SqlStr).ToList();
t.Code = 0;
t.PageCount = list.Count;
t.TotalNumber = list.Count;
t.Data = list;
t.Msg = "成功";
return t;
}
}
}