public IActionResult Create([FromBody] CreateRequest request) { var city = new City { Name = request.Name?.Trim(), }; this._dbContext.Set <City>().Add(city); try { this._dbContext.SaveChanges(); } catch (DbUpdateException exception) { var error = new TdbDbError(exception); if (error.IsUniqueViolation()) { this.ModelState.AddModelError( nameof(CreateRequest.Name), "The city already exists." ); return(this.BadRequest(this.ModelState)); } throw; } return(new ObjectResult(new CreateResponse(city)) { StatusCode = (int)HttpStatusCode.Created, }); }
public IActionResult Create([FromBody] CreateRequest request) { int cityId; try { cityId = JsonConvert.DeserializeObject <int>(request.City); } catch (JsonReaderException) { this.ModelState.AddModelError( nameof(CreateRequest.City), "Invalid city id." ); return(this.BadRequest(this.ModelState)); } var restaurant = new Restaurant { Name = request.Name?.Trim(), CityId = cityId, }; this._dbContext.Set <Restaurant>().Add(restaurant); try { this._dbContext.SaveChanges(); } catch (DbUpdateException exception) { var error = new TdbDbError(exception); if (error.IsUniqueViolation()) { this.ModelState.AddModelError( nameof(CreateRequest.Name), "The restaurant already exists." ); return(this.BadRequest(this.ModelState)); } throw; } return(new ObjectResult(new CreateResponse(restaurant)) { StatusCode = (int)HttpStatusCode.Created, }); }