예제 #1
0
        public async Task <UpdateScopeResponse> ExecuteAsync(PutScope request, string url)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (string.IsNullOrWhiteSpace(url))
            {
                throw new ArgumentNullException(nameof(url));
            }

            var httpClient  = _httpClientFactory.GetHttpClient();
            var serialized  = JsonConvert.SerializeObject(request);
            var body        = new StringContent(serialized, Encoding.UTF8, "application/json");
            var httpRequest = new HttpRequestMessage
            {
                Content    = body,
                Method     = HttpMethod.Put,
                RequestUri = new Uri(url)
            };
            var httpResult = await httpClient.SendAsync(httpRequest);

            httpResult.EnsureSuccessStatusCode();
            var content = await httpResult.Content.ReadAsStringAsync();

            return(JsonConvert.DeserializeObject <UpdateScopeResponse>(content));
        }
        public async Task <ActionResult> UpdateScope([FromBody] PutScope putScope)
        {
            if (putScope == null)
            {
                throw new ArgumentNullException(nameof(putScope));
            }

            var parameter         = putScope.ToParameter();
            var resourceSetExists = await _scopeActions.UpdateScope(parameter);

            if (!resourceSetExists)
            {
                return(GetNotFoundScope());
            }

            var response = new UpdateScopeResponse
            {
                Id = putScope.Id
            };

            return(new ObjectResult(response)
            {
                StatusCode = (int)HttpStatusCode.OK
            });
        }
예제 #3
0
 public static UpdateScopeParameter ToParameter(this PutScope putScope)
 {
     return(new UpdateScopeParameter
     {
         Id = putScope.Id,
         Name = putScope.Name,
         IconUri = putScope.IconUri
     });
 }
예제 #4
0
        public async Task <UpdateScopeResponse> UpdateByResolution(PutScope request, string url)
        {
            var configuration = await _getConfigurationOperation.ExecuteAsync(UriHelpers.GetUri(url));

            return(await Update(request, configuration.ScopeEndPoint));
        }
예제 #5
0
 public Task <UpdateScopeResponse> Update(PutScope request, string url)
 {
     return(_updateScopeOperation.ExecuteAsync(request, url));
 }