public async Task <IActionResult> CreateCountry([FromBody] Country country) { if (country == null) { throw new ArgumentNullException(nameof(country)); } if (await _repo.CountryExistByName(country.Name)) { ModelState.AddModelError("", $"Country {country.Name} already exists!"); return(StatusCode(422, $"Country {country.Name} already exists!")); } if (!await _work.Add(country)) { ModelState.AddModelError("", $"Something went wrong saving {country.Name}!!"); return(StatusCode(500, ModelState)); } return(CreatedAtRoute("GetCountry", new { countryId = country.Id }, country)); }