/// <summary> /// Either updates or adds a rating to the selected User /// </summary> /// <param name="request">Object that holds jwt and rating</param> /// <param name="rateeID">User that is being rated</param> /// <returns>an integer</returns> public int RateUser(RateRequest request, string rateeID) { int raterID = _jwtServce.GetUserIDFromToken(request.jwtToken); UserRating ur = new UserRating { RatedId1 = Convert.ToInt32(rateeID), RaterId1 = Convert.ToInt32(raterID), Rating = Convert.ToInt32(request.rating) }; try { var hasClaims = _jwtServce.CheckUserClaims(request.jwtToken, canRateUsers); if (hasClaims.CompareTo("Authorized") != 0) { return(-2); } var userRating = _ratingService.GetRating(Convert.ToInt32(raterID), Convert.ToInt32(rateeID)); if (userRating == false) { _ratingService.CreateRating(ur, ""); return(1); } _ratingService.UpdateRating(ur, ""); return(2); } catch (Exception e) { //log return(-1); } }