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()); }
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); }
public Task <BaseResponse> Update(string requestUrl, UpdateFilterRequest updateFilterRequest, string authorizationHeaderValue = null) { return(_updateFilterOperation.Execute(requestUrl, updateFilterRequest, authorizationHeaderValue)); }