public async Task <IActionResult> Put([FromBody] RatingInput rating, int id) { try { var validationResult = rating.Validate(id); if (!validationResult.IsValid) { return(BadRequest(validationResult.Message)); } var result = await _ratingsRepository.Update(id, rating); if (result == null) { return(BadRequest($"There is already a rating with the name {rating.Name}")); } if (result.Id != id) { return(Created($"api/ratings/{result.Id}", result)); } return(NoContent()); } catch (Exception) { return(new StatusCodeResult(500)); } }
public async Task <IActionResult> Post([FromBody] RatingInput rating) { try { var validationResult = rating.Validate(); if (!validationResult.IsValid) { return(BadRequest(validationResult.Message)); } var created = await _ratingsRepository.Add(rating); if (created == null) { return(BadRequest($"There is already a rating with the name {rating.Name}")); } return(Created($"api/ratings/{created.Id}", created)); } catch (Exception) { return(new StatusCodeResult(500)); } }