コード例 #1
0
        public async Task <ActionResult> GetCoffeeByName(string coffeeName)
        {
            try
            {
                using (_cofeelogger.BeginScope($"API-GetCoffeeByName-Inititating {DateTime.UtcNow}"))
                {
                    _cofeelogger.LogInformation(LoggingEvents.GetItem, $"API-GetCoffeeByName-Getting item by name {coffeeName}");

                    var result = await _coffeeService.GetCoffeeByName(coffeeName).ConfigureAwait(false);

                    if (result.statusCode == HttpStatusCode.NotFound)
                    {
                        _cofeelogger.LogInformation(LoggingEvents.GetItemNotFound, $"API-GetCoffeeByName-Item by name  {coffeeName} not found");
                    }

                    _cofeelogger.LogInformation($"API-GetCoffeeByName-Completed {DateTime.UtcNow}");

                    return(StatusCode((int)result.statusCode, result.coffeeDto));
                }
            }
            catch (Exception ex)
            {
                _cofeelogger.LogError
                    (ex,
                    $"API-GetCoffeeByName-Exception {DateTime.UtcNow}"
                    );

                return(StatusCode((int)HttpStatusCode.BadRequest,
                                  _apiSettings.IsSecuredEnvironment ? "An error occured while processing GetCoffeeByName" : ex.ToString()));
            }
        }