コード例 #1
0
ファイル: RatingService.cs プロジェクト: faorg/wwt-website
        public bool UpdateCommunityRating(RatingDetails rating)
        {
            // Make sure input is not null
            this.CheckNotNull(() => new { rating });

            try
            {
                var communityRatings = _communityRatingRepository
                    .GetItem(r => (r.CommunityID == rating.ParentID && r.RatedByID == rating.RatedByID));

                if (communityRatings != null)
                {
                    UpdateCommunityRating(rating, communityRatings);
                }
                else
                {
                    CreateCommunityRating(rating);
                }

                return true;
            }
            catch (Exception)
            {
                // TODO: Add exception handling logic here.
            }

            return false;
        }
コード例 #2
0
ファイル: RatingController.cs プロジェクト: faorg/wwt-website
        public bool Rate(int contentId, int rating, EntityType type)
        {
            // Sending data to business logic
            var ratingDetails = new RatingDetails()
            {
                Rating = rating,
                RatedByID = CurrentUserId,
                ParentID = contentId
            };

            var status = false;
            switch (type)
            {
                case EntityType.All:
                    break;
                case EntityType.Community:
                case EntityType.Folder:
                    status = _ratingService.UpdateCommunityRating(ratingDetails);
                    break;
                case EntityType.Content:
                    status = _ratingService.UpdateContentRating(ratingDetails);
                    break;
            }

            return status;
        }
コード例 #3
0
ファイル: RatingController.cs プロジェクト: faorg/wwt-website
        public JsonResult ConverstRatings(int contentId, int rating, int userId)
        {
            // Sending data to business logic
            var ratingDetails = new RatingDetails()
            {
                Rating = rating,
                RatedByID = userId,
                ParentID = contentId
            };

            var status = false;
            
            status = _ratingService.UpdateContentRating(ratingDetails);
            

            return Json(status);
        }
コード例 #4
0
ファイル: RatingService.cs プロジェクト: faorg/wwt-website
        /// <summary>
        /// Update Content Rating.
        /// </summary>
        /// <param name="rating">Rating details.</param>
        /// <param name="contentRatings">Instance of ContentRatings.</param>
        private void UpdateContentRating(RatingDetails rating, ContentRatings contentRatings)
        {
            contentRatings.Rating = rating.Rating;
            contentRatings.ModifiedDatetime = DateTime.UtcNow;

            _contentRatingRepository.Update(contentRatings);
            _contentRatingRepository.SaveChanges();
        }
コード例 #5
0
ファイル: RatingService.cs プロジェクト: faorg/wwt-website
        /// <summary>
        /// Create Content Rating
        /// </summary>
        /// <param name="rating">Rating details.</param>
        private void CreateContentRating(RatingDetails rating)
        {
            var contentRating = new ContentRatings();
            Mapper.Map(rating, contentRating);

            contentRating.ModifiedDatetime = contentRating.CreatedDatetime = DateTime.UtcNow;

            _contentRatingRepository.Add(contentRating);
            _contentRatingRepository.SaveChanges();
        }
コード例 #6
0
        public async Task<bool> RateCommunity(string id, string rating)
        {
            var profileDetails = await ValidateAuthentication();
            if (profileDetails != null)
                {
                    var contentId = ValidateEntityId(id);
                    var ratingValue = 5;
                    if (int.TryParse(rating, out ratingValue))
                    {
                        // Dummy Call
                    }
                    
                    var ratingDetails = new RatingDetails()
                    {
                        Rating = ratingValue >= 5 || ratingValue <= 0 ? 5 : ratingValue,
                        RatedByID = profileDetails.ID,
                        ParentID = contentId
                    };

                    var ratingService = DependencyResolver.Current.GetService(typeof(IRatingService)) as IRatingService;
                    ratingService.UpdateCommunityRating(ratingDetails);

                    return true;
                }
                else
                {
                    throw new WebFaultException<string>(Resources.UserNotRegisteredMessage, HttpStatusCode.Unauthorized);
                }
            

            return false;
        }