public async Task <IActionResult> UpdateFilter([FromBody] UpdateFilterRequest updateFilterRequest)
        {
            if (updateFilterRequest == null)
            {
                return(BuildMissingParameter(nameof(updateFilterRequest)));
            }

            IActionResult errorResult = null;

            if (!CheckParameter(updateFilterRequest, out errorResult))
            {
                return(errorResult);
            }

            var filter = await _filterRepository.Get(updateFilterRequest.Id);

            if (filter == null)
            {
                return(new StatusCodeResult((int)HttpStatusCode.NotFound));
            }

            await _filterRepository.Update(updateFilterRequest.ToParameter());

            return(new NoContentResult());
        }
Exemplo n.º 2
0
        public async Task <BaseResponse> Execute(string requestUrl, UpdateFilterRequest updateFilterRequest, string authorizationHeaderValue = null)
        {
            if (string.IsNullOrWhiteSpace(requestUrl))
            {
                throw new ArgumentNullException(nameof(requestUrl));
            }

            if (updateFilterRequest == null)
            {
                throw new ArgumentNullException(nameof(updateFilterRequest));
            }

            var httpClient = _httpClientFactory.GetHttpClient();
            var json       = JsonConvert.SerializeObject(updateFilterRequest, new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            });
            var request = new HttpRequestMessage
            {
                Method     = HttpMethod.Put,
                Content    = new StringContent(json),
                RequestUri = new Uri(requestUrl)
            };

            request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            if (!string.IsNullOrWhiteSpace(authorizationHeaderValue))
            {
                request.Headers.Add("Authorization", "Bearer " + authorizationHeaderValue);
            }

            var result = await httpClient.SendAsync(request).ConfigureAwait(false);

            var content = await result.Content.ReadAsStringAsync().ConfigureAwait(false);

            try
            {
                result.EnsureSuccessStatusCode();
            }
            catch (Exception)
            {
                return(new BaseResponse
                {
                    ContainsError = true,
                    Error = JsonConvert.DeserializeObject <ErrorResponse>(content),
                    HttpStatus = result.StatusCode
                });
            }

            return(new BaseResponse
            {
                HttpStatus = result.StatusCode
            });
        }
        public static FilterAggregate ToParameter(this UpdateFilterRequest updateFilterRequest)
        {
            if (updateFilterRequest == null)
            {
                throw new ArgumentNullException(nameof(updateFilterRequest));
            }

            return(new FilterAggregate
            {
                Id = updateFilterRequest.Id,
                Name = updateFilterRequest.Name,
                Rules = updateFilterRequest.Rules == null ? new List <FilterAggregateRule>() : updateFilterRequest.Rules.Select(r => r.ToParameter())
            });
        }
        private static bool CheckParameter(UpdateFilterRequest updateFilterRequest, out IActionResult actionResult)
        {
            actionResult = null;
            if (string.IsNullOrWhiteSpace(updateFilterRequest.Id))
            {
                actionResult = BuildMissingParameter("id");
                return(false);
            }

            if (string.IsNullOrWhiteSpace(updateFilterRequest.Name))
            {
                actionResult = BuildMissingParameter("name");
                return(false);
            }

            return(true);
        }
Exemplo n.º 5
0
 public Task <BaseResponse> Update(string requestUrl, UpdateFilterRequest updateFilterRequest, string authorizationHeaderValue = null)
 {
     return(_updateFilterOperation.Execute(requestUrl, updateFilterRequest, authorizationHeaderValue));
 }