diff --git a/AsbCloudApp/Data/PermissionBaseDto.cs b/AsbCloudApp/Data/PermissionBaseDto.cs index a309200c..48965c19 100644 --- a/AsbCloudApp/Data/PermissionBaseDto.cs +++ b/AsbCloudApp/Data/PermissionBaseDto.cs @@ -4,5 +4,6 @@ { public int Id { get; set; } public string Name { get; set; } + public string Description { get; set; } } } \ No newline at end of file diff --git a/AsbCloudApp/Data/PermissionInfoDto.cs b/AsbCloudApp/Data/PermissionInfoDto.cs deleted file mode 100644 index 7cfd2311..00000000 --- a/AsbCloudApp/Data/PermissionInfoDto.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Collections.Generic; - -namespace AsbCloudApp.Data -{ - public class PermissionInfoDto : IId - { - public int Id { get; set; } - public string Name { get; set; } - public string Description { get; set; } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/DependencyInjection.cs b/AsbCloudInfrastructure/DependencyInjection.cs index de4e41cd..8aa4ab02 100644 --- a/AsbCloudInfrastructure/DependencyInjection.cs +++ b/AsbCloudInfrastructure/DependencyInjection.cs @@ -66,7 +66,6 @@ namespace AsbCloudInfrastructure // admin crud services: services.AddTransient, CrudServiceBase>(); services.AddTransient, CrudServiceBase>(); - services.AddTransient, CrudServiceBase>(); services.AddTransient, DrillParamsService>(); services.AddTransient, CrudServiceBase>(); services.AddTransient, CrudServiceBase>(); diff --git a/AsbCloudInfrastructure/Services/PermissionService.cs b/AsbCloudInfrastructure/Services/PermissionService.cs index f035afc1..eaa2fe90 100644 --- a/AsbCloudInfrastructure/Services/PermissionService.cs +++ b/AsbCloudInfrastructure/Services/PermissionService.cs @@ -36,8 +36,18 @@ namespace AsbCloudInfrastructure.Services public async Task InsertRangeAsync(IEnumerable dtos, CancellationToken token) { - var entities = dtos.Select(Convert); - return (await cachePermission.InsertAsync(entities, token))?.Count()??0; + foreach (var dto in dtos) + { + var entity = Convert(dto); + var insertedEntity = cachePermission.Insert(entity); + cacheUserRolePermission.Insert(new RelationUserRolePermission() + { + IdPermission = insertedEntity.Id, + IdUserRole = dto.IdUserRole + }); + } + + return 1; } public async Task UpdateAsync(PermissionDto dto, CancellationToken token) @@ -48,10 +58,12 @@ namespace AsbCloudInfrastructure.Services return 1; } - public Task DeleteAsync(int idUserRole, int idPermission, CancellationToken token) + public async Task DeleteAsync(int idUserRole, int idPermission, CancellationToken token) { bool predicate(RelationUserRolePermission p) => p.IdUserRole == idUserRole && p.IdPermission == idPermission; - return DeleteAsync(predicate, token); + await DeleteAsync(predicate, token); + cachePermission.Remove(p => p.Id == idPermission); + return 1; } public Task DeleteAllByRoleAsync(int idUserRole, CancellationToken token) diff --git a/AsbCloudWebApi/Controllers/AdminPermissionController.cs b/AsbCloudWebApi/Controllers/AdminPermissionController.cs index 892ad29a..9fd28920 100644 --- a/AsbCloudWebApi/Controllers/AdminPermissionController.cs +++ b/AsbCloudWebApi/Controllers/AdminPermissionController.cs @@ -46,14 +46,14 @@ namespace AsbCloudWebApi.Controllers public async Task InsertRangeAsync(IEnumerable dtos, CancellationToken token = default) { - var result = await permissionService.InsertRangeAsync(dtos, token); + var result =await permissionService.InsertRangeAsync(dtos, token); return Ok(result); } /// /// Обновляет разрешение для роли /// - /// Объект разрешения для справочника + /// Объект разрешения /// Токен отмены задачи /// [HttpPut] diff --git a/AsbCloudWebApi/Controllers/AdminPermissionInfoController.cs b/AsbCloudWebApi/Controllers/AdminPermissionInfoController.cs deleted file mode 100644 index 1950e362..00000000 --- a/AsbCloudWebApi/Controllers/AdminPermissionInfoController.cs +++ /dev/null @@ -1,17 +0,0 @@ -using AsbCloudApp.Data; -using AsbCloudApp.Services; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -namespace AsbCloudWebApi.Controllers -{ - [Route("api/admin/permissionInfo")] - [ApiController] - [Authorize] - public class AdminPermissionInfoController : CrudController> - { - public AdminPermissionInfoController(ICrudService permissionInfoService) - :base(permissionInfoService) - {} - } -} \ No newline at end of file