public async Task <ActionResult <PharmacyModel> > FindClosestPharmacy([FromBody] PharmacyInputModel pharmacyInput) { _logger.LogDebug("Invoked FindClosestPharmacy"); try { var validateResponse = _validationService.ValidatePharmacyInput(pharmacyInput).ToList(); if (validateResponse.Any()) { return(StatusCode(400, JsonConvert.SerializeObject(validateResponse))); } _logger.LogDebug("FindClosestPharmacy Success"); return(new OkObjectResult(await _pharmacyService.FindClosestAsync(pharmacyInput))); } catch (SqlNullValueException e) { _logger.LogError("SqlNullValueException", e); return(StatusCode(400, "Null value in database")); } catch (SqlValueOutOfRangeException e) { _logger.LogError("SqlValueOutOfRangeException", e); return(StatusCode(400, "Invalid value in database")); } catch (Exception e) { _logger.LogError("Exception", e); return(StatusCode(500, e.Message)); } }