public void Update(PostPoint postPoint) { _session.Clear(); _unitOfWork.BeginTransaction(_session); _unitOfWork.PostPointRepository.Update(_session, postPoint); _unitOfWork.Commit(); }
public (string message, long points) DownvotePost(ApplicationUser user, int postId) { _session.Clear(); var post = _unitOfWork.PostRepository.Get(_session, postId); var postPoint = _unitOfWork.PostPointRepository.Get(_session, x => x.Post.Id == postId && x.ApplicationUser.Id == user.Id).FirstOrDefault(); if (postPoint != null) { if (postPoint.IsUpvoted) { try { _unitOfWork.BeginTransaction(_session); postPoint.IsUpvoted = false; _unitOfWork.PostPointRepository.Update(_session, postPoint); _unitOfWork.Commit(); _session.Clear(); return(StringConstants.SUCCESS, _unitOfWork.PostPointRepository.GetVotes(_session, postId).overall); } catch (Exception ex) { return(ex.Message, _unitOfWork.PostPointRepository.GetVotes(_session, postId).overall); } } return(StringConstants.DUPLICATE, _unitOfWork.PostPointRepository.GetVotes(_session, postId).overall); } else { postPoint = new PostPoint { ApplicationUser = user, IsUpvoted = false, Post = post }; _unitOfWork.BeginTransaction(_session); _unitOfWork.PostPointRepository.Create(_session, postPoint); _unitOfWork.Commit(); _session.Clear(); return(StringConstants.SUCCESS, _unitOfWork.PostPointRepository.GetVotes(_session, postId).overall); } }