92 lines
3.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|