public async Task <bool> UpdateAccessOfRole(AccessOfRoleModel input) { using var unitOfWork = UnitOfWorkFactory(); _roleRepository = unitOfWork.Repository <Role>(); _accessControlRepository = unitOfWork.Repository <AccessControl>(); _accessOfRoleRepository = unitOfWork.Repository <AccessOfRole>(); var role = await GetOrThrow(_roleRepository, input.RoleId, string.Format(AppMessages.ThisObjectNotFound, "Vai trò")); var accessControl = await _accessControlRepository.FindAsync(input.AccessControlId) ?? throw new AppException(string.Format(AppMessages.ThisObjectNotFound, "Quyền")); var accessOfRole = await _accessOfRoleRepository.Get(role.Id, accessControl.Id); // add new if (accessOfRole == null) { await _accessOfRoleRepository.InsertAsync(new AccessOfRole { RoleId = role.Id, AccessControlId = accessControl.Id, IsActivated = true }); } // update else { accessOfRole.IsActivated = input.IsActivated; } await unitOfWork.SaveChangesAsync(); return(true); }
public async Task <bool> UpdateAccessOfRole(AccessOfRoleModel input) { return(await _settingService.UpdateAccessOfRole(input)); }