| 123456789101112131415161718192021222324252627282930313233343536373839 |
- using EFCore.Sharding;
- using Microsoft.Extensions.Caching.Distributed;
- using Net6Demo_Api.Entity;
- using Net6Demo_Api.IBusiness;
- using Net6Demo_Api.Util;
- namespace Net6Demo_Api.Business
- {
- public class RoleMenuBusiness : BaseBusiness<T_Sys_RoleMenu>, IRoleMenuBusiness, ITransientDependency
- {
- public RoleMenuBusiness(IDbAccessor db, IDistributedCache cache) : base(db, cache, true)
- {
- }
- /// <summary>
- /// 保存角色菜单
- /// </summary>
- /// <param name="roleid">角色ID</param>
- /// <param name="menuids">菜单ID集合</param>
- /// <returns></returns>
- public async Task<bool> SaveRoleMenuAsync(int roleid, List<int> menuids)
- {
- (bool Success, Exception ex) = await _db.RunTransactionAsync(async () =>
- {
- await DeleteAsync(p => p.F_RoleId == roleid);
- List<T_Sys_RoleMenu> list = new List<T_Sys_RoleMenu>();
- foreach (int mid in menuids)
- {
- list.Add(new T_Sys_RoleMenu() { F_RoleId = roleid, F_MenuId = mid });
- }
- await InsertAsync(list);
- });
-
- return Success;
- }
- }
- }
|