public IActionResult CreateProvienceForCountry(Guid countryId, [FromBody] ProvienceApiModelForCreation provience) { if (provience == null) { return(BadRequest()); } if (provience.Name.Length == 1) { ModelState.AddModelError(nameof(ProvienceApiModelForCreation), "The provided name should have more than once character."); } if (!ModelState.IsValid) { //return 422 return(new Microsoft.AspNetCore.Mvc.UnprocessableEntityObjectResult(ModelState)); } if (!_countryRepository.EntityExists(countryId)) { return(NotFound()); } var provienceEntity = Mapper.Map <Provience>(provience); if (_countryRepository.AddProvienceForCountry(countryId, provienceEntity) == null) { throw new Exception($"Creating a provience for country {countryId} failed on save."); } var provienceForReturn = Mapper.Map <ProvienceApiModel>(provienceEntity); return(CreatedAtRoute("GetProvienceForCountry", new { countryId = countryId, provienceId = provienceForReturn.Id }, provienceForReturn)); }