private async Task <IActionResult> ProcessWellFormedRequestAsync( GetEnumerationValuesRequest getEnumerationValuesRequest, CancellationToken cancellationToken) { IActionResult toReturn = null; this.loggerWrapper.Debug( $"Invoking {nameof(IGetEnumerationValuesProcessor)} with " + $"{getEnumerationValuesRequest}..."); GetEnumerationValuesResponse getEnumerationValuesResponse = await this.getEnumerationsProcessor.GetEnumerationValuesAsync( getEnumerationValuesRequest, cancellationToken) .ConfigureAwait(false); this.loggerWrapper.Info( $"{nameof(IGetEnumerationMappingsProcessor)} invoked with " + $"success: {getEnumerationValuesResponse}."); IEnumerable <string> enumerationValues = getEnumerationValuesResponse .EnumerationValuesResult .EnumerationValues; if (enumerationValues.Any()) { this.loggerWrapper.Debug( $"Looks like we got some results: " + $"{getEnumerationValuesResponse}. Returning as JSON."); toReturn = new JsonResult(getEnumerationValuesResponse); } else { string name = getEnumerationValuesRequest.Name; this.loggerWrapper.Info( $"No results found for enumeration {nameof(name)} " + $"\"{name}\"!"); toReturn = this.httpErrorBodyResultProvider.GetHttpErrorBodyResult( HttpStatusCode.NotFound, 2, name); } return(toReturn); }
/// <inheritdoc /> public async Task <GetEnumerationValuesResponse> GetEnumerationValuesAsync( GetEnumerationValuesRequest getEnumerationValuesRequest, CancellationToken cancellationToken) { GetEnumerationValuesResponse toReturn = null; if (getEnumerationValuesRequest == null) { throw new ArgumentNullException( nameof(getEnumerationValuesRequest)); } string name = getEnumerationValuesRequest.Name; this.loggerWrapper.Debug( $"Pulling back {nameof(EnumerationValuesResult)} for " + $"{nameof(name)} \"{name}\" from the " + $"{nameof(ICacheManager)}..."); object unboxedEnumerationValuesResult = await this.cacheManager.GetAsync(name, cancellationToken) .ConfigureAwait(false); EnumerationValuesResult enumerationValuesResult = unboxedEnumerationValuesResult as EnumerationValuesResult; // Result will be non-null. this.loggerWrapper.Info( $"{nameof(EnumerationValuesResult)} pulled back from the " + $"{nameof(ICacheManager)}: {enumerationValuesResult}."); toReturn = new GetEnumerationValuesResponse() { EnumerationValuesResult = enumerationValuesResult, }; return(toReturn); }