コード例 #1
0
        /// <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);
            }
        }