feat: 添加 App 服务
This commit is contained in:
parent
5dc6bc066a
commit
3280d00472
|
@ -0,0 +1,61 @@
|
|||
using BootstrapAdmin.DataAccess.EFCore.Models;
|
||||
using BootstrapAdmin.Web.Core;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BootstrapAdmin.DataAccess.EFCore.Services;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class AppService : IApp
|
||||
{
|
||||
private IDbContextFactory<BootstrapAdminContext> DbFactory;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="dbFactory"></param>
|
||||
public AppService(IDbContextFactory<BootstrapAdminContext> dbFactory) => DbFactory = dbFactory;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public List<string> GetAppsByRoleId(string? roleId)
|
||||
{
|
||||
using var dbcontext = DbFactory.CreateDbContext();
|
||||
|
||||
return dbcontext.RoleApp.Where(s => s.RoleID == roleId).Select(s => s.AppID!).AsNoTracking().ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="roleId"></param>
|
||||
/// <param name="appIds"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public bool SaveAppsByRoleId(string? roleId, IEnumerable<string> appIds)
|
||||
{
|
||||
var ret = false;
|
||||
try
|
||||
{
|
||||
using var dbcontext = DbFactory.CreateDbContext();
|
||||
dbcontext.Database.ExecuteSqlRaw("delete from RoleApp where RoleID = {0}", roleId!);
|
||||
dbcontext.AddRange(appIds.Select(g => new RoleApp { AppID = g, RoleID = roleId }));
|
||||
ret = dbcontext.SaveChanges() > 0;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue