public async Task <ActionResult <Lib.Address> > GetAddress([FromQuery] AddressModel address) { var newAddress = new Lib.Address { Id = address.Id, Street = address.Street, City = address.City, State = address.State, Country = address.Country, ZipCode = address.ZipCode }; var checkAddress = (await _db.GetAddressAsync(address: newAddress)).FirstOrDefault(); if (checkAddress == null) { _logger.LogInformation("Address does not exist in the database"); newAddress.Id = Guid.NewGuid(); if (await _addressLogic.IsValidAddressAsync(newAddress)) { try { var normalAddress = await _addressLogic.NormalizeAddressAsync(newAddress); await _db.AddAddressAsync(normalAddress); await _db.SaveAsync(); _logger.LogInformation("Address successfully created"); return(newAddress); } catch (Exception ex) { _logger.LogError("{0}", ex); return(BadRequest($"Address entry failed")); } } else { _logger.LogError("Address does not exist"); return(BadRequest("Address does not exist")); } } else { _logger.LogError("Address already exists in the database"); return(checkAddress); } }