You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ProductionSystem/ProductionSystem_Service/MenuRoleService.cs

147 lines
4.5 KiB
C#

using ProductionSystem_Log;
using ProductionSystem_Model.DbModel.System;
using ProductionSystem_Model.ViewModel.Response.System;
using SqlSugar;
using System;
using System.Collections.Generic;
namespace ProductionSystem_Service
{
/// <summary>
/// 菜单角色
/// </summary>
public class MenuRoleService : DbContext
{
/// <summary>
/// 查询所有菜单角色关系
/// </summary>
/// <returns></returns>
public ISugarQueryable<Sys_Menu_Role> QueryMenuRoles()
{
try
{
return db.Queryable<Sys_Menu_Role>();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行MenuRoleService下QueryMenuRoles时异常");
return null;
}
}
/// <summary>
/// 查询有效菜单角色关系
/// </summary>
/// <returns></returns>
public ISugarQueryable<Sys_Menu_Role> QueryActiveMenuRoles()
{
try
{
return db.Queryable<Sys_Menu_Role>().Where(m => m.IsActive);
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行MenuRoleService下QueryActiveMenuRoles时异常");
return null;
}
}
/// <summary>
/// 根据角色编码查询有效菜单角色关系
/// </summary>
/// <returns></returns>
public List<Sys_Menu_Role> QueryActiveMenuRolesByRoleCode(string roleCode)
{
try
{
return db.Queryable<Sys_Menu_Role>().Where(m => m.RoleCode == roleCode && m.IsActive).ToList();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行MenuRoleService下QueryActiveMenuRolesByRoleCode时异常");
return null;
}
}
/// <summary>
/// 根据角色编码查询有效菜单
/// </summary>
/// <param name="roleCode"></param>
/// <returns></returns>
public List<MenuVM> QueryActiveMenusByRoleCode(string roleCode)
{
try
{
return db.Queryable<Sys_Menu_Role>()
.InnerJoin<Sys_Menu>((a, b) => a.MenuCode == b.MenuCode && a.IsActive && b.IsActive)
.Where((a, b) => a.RoleCode == roleCode)
.Select((a, b) => new MenuVM
{
MenuCode = a.MenuCode,
MenuName = b.MenuName,
ImgPath = b.MenuImgPath
}).ToList();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行MenuRoleService下QueryActiveMenusByRoleCode时异常");
return null;
}
}
/// <summary>
/// 新增菜单角色关系
/// </summary>
/// <param name="sys_Menu_Role"></param>
/// <returns></returns>
public int AddMenuRole(Sys_Menu_Role sys_Menu_Role)
{
try
{
return db.Insertable(sys_Menu_Role).ExecuteCommand();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行MenuRoleService下AddMenuRole时异常");
return -1;
}
}
/// <summary>
/// 修改菜单角色关系
/// </summary>
/// <param name="sys_Menu_Role"></param>
/// <returns></returns>
public int UpdateMenuRole(Sys_Menu_Role sys_Menu_Role)
{
try
{
return db.Updateable(sys_Menu_Role).ExecuteCommand();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行MenuRoleService下UpdateMenuRole时异常");
return -1;
}
}
/// <summary>
/// 根据Id集合物理删除菜单角色关系
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int DoDelMenusByIds(List<string> ids)
{
try
{
return db.Deleteable<Sys_Menu_Role>().Where(m => ids.Contains(m.Id)).ExecuteCommand();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行MenuRoleService下DoDelMenusByIds时异常");
return -1;
}
}
}
}