public JsonResult AlterExistingVideoRating(VideoRating vr, bool newRating) { string returnMessage = ""; Video video = _videosRepository.GetVideoById(vr.VideoID); //true = like, false = dislike if (vr.IsLike) { if (newRating) { video.LikesCount -= 1; returnMessage = "neutral"; } else { video.LikesCount -= 1; video.DislikesCount += 1; returnMessage = "dislike"; } } else { if (newRating) { video.LikesCount += 1; video.DislikesCount -= 1; returnMessage = "like"; } else { video.DislikesCount -= 1; returnMessage = "neutral"; } } _videosRepository.UpdateVideo(video); vr.IsLike = newRating; if (returnMessage == "neutral") { _videoRatingRepository.DeleteVideoRating(vr.LikeID); } else { _videoRatingRepository.UpdateVideoRating(vr); } return(Json(new { returnMessage, video.LikesCount, video.DislikesCount }, JsonRequestBehavior.AllowGet)); }
public ActionResult VideoPage(long?id) { if (id == null) { return(View("Error")); } Video currentVideo = _videosRepository.GetVideoById(id); if (currentVideo == null) { return(View("Error")); } if (currentVideo.Blocked == true || currentVideo.User.Blocked == true || currentVideo.VideoType == "PRIVATE") { if (!(UsersHelper.LoggedInUserIsAdmin(Session) && !UsersHelper.LoggedInUserIsBlocked(Session)) && !UsersHelper.LoggedInUserIsOnHisPage(Session, currentVideo.VideoOwner)) { return(View("Error")); } } currentVideo.ViewsCount += 1; _videosRepository.UpdateVideo(currentVideo); if (UsersHelper.LoggedInUserUsername(Session) != null) { bool exists = CheckIfSubbed(currentVideo.VideoOwner); VideoRating rating = GetVideoRatingForVideo(id); ViewBag.Subbed = exists; ViewBag.Rating = rating?.IsLike; } var video = VideoDTO.ConvertVideoToDTO(currentVideo); return(View(video)); }
public ActionResult BlockVideo(long?id) { if (UsersHelper.LoggedInUserUsername(Session) == null) { return(null); } if (_videosRepository.GetVideoById(id) == null) { return(null); } _videosRepository.BlockVideo(id); ViewBag.Message = "Video has been successfully blocked."; return(PartialView("MessageModal")); }