public async Task <bool> Execute(UpdateResourceSetParameter udpateResourceSetParameter) { if (udpateResourceSetParameter == null) { throw new ArgumentNullException(nameof(udpateResourceSetParameter)); } var json = JsonConvert.SerializeObject(udpateResourceSetParameter); _umaServerEventSource.StartToUpdateResourceSet(json); var resourceSet = new ResourceSet { Id = udpateResourceSetParameter.Id, Name = udpateResourceSetParameter.Name, Uri = udpateResourceSetParameter.Uri, Type = udpateResourceSetParameter.Type, Scopes = udpateResourceSetParameter.Scopes, IconUri = udpateResourceSetParameter.IconUri, Owner = udpateResourceSetParameter.Owner, AcceptPendingRequest = udpateResourceSetParameter.AcceptPendingRequest }; if (string.IsNullOrWhiteSpace(udpateResourceSetParameter.Id)) { throw new BaseUmaException(ErrorCodes.InvalidRequestCode, string.Format(ErrorDescriptions.TheParameterNeedsToBeSpecified, "id")); } _resourceSetParameterValidator.CheckResourceSetParameter(resourceSet); if (await _resourceSetRepository.Get(udpateResourceSetParameter.Id) == null) { return(false); } if (!await _resourceSetRepository.Update(resourceSet)) { throw new BaseUmaException(ErrorCodes.InternalError, string.Format(ErrorDescriptions.TheResourceSetCannotBeUpdated, resourceSet.Id)); } _umaServerEventSource.FinishToUpdateResourceSet(json); return(true); }