public IHttpActionResult UpdateUserRating([FromUri] int id, [FromBody] UserRatingUpdate updatedRating) { if (!ModelState.IsValid) return BadRequest(ModelState); var service = CreateRatingService(); switch (service.UpdateUserRatingByExchangeId(updatedRating, id)) { case 0: return Ok("Rating Added"); case 1: return InternalServerError(); case 2: return BadRequest("Rating not found"); case 3: return BadRequest("Only the reciever can update ratings"); default: return InternalServerError(); } }
public int UpdateUserRatingByExchangeId(UserRatingUpdate model, int id) { var entity = _context.UserRatings.Single(e => e.ExchangeId == id); if (entity is null) { return(2); } if (entity.Exchange.ReceiverId != _userId) { return(3); } entity.ExchangeRating = model.ExchangeRating; entity.ExchangeId = model.ExchangeId; if (_context.SaveChanges() == 1) { return(0); } return(1); }