Exemple #1
0
        public void ThreadViewed(int threadID, int userID)
        {
            ThreadView view = _threadViewRepository.First(item => item.UserID == userID && item.ThreadID == threadID);

            if (view == null)
            {
                _threadViewRepository.Add(new ThreadView()
                {
                    ThreadID = threadID,
                    UserID   = userID,
                });
            }

            ThreadViewStamp viewStamp = _threadViewStampRepository.First(item => item.UserID == userID && item.ThreadID == threadID);

            if (viewStamp == null)
            {
                _threadViewStampRepository.Add(new ThreadViewStamp()
                {
                    Date     = DateTime.UtcNow,
                    UserID   = userID,
                    ThreadID = threadID
                });
            }
            _unitOfWork.Commit();
        }
Exemple #2
0
        public bool HasNewPost(int threadID, int userID)
        {
            Thread thread = GetThread(threadID);

            Post lastPost = thread.LastPost;

            User user = _userRepository.Get(userID);

            if (lastPost.UserID == userID)
            {
                return(false);
            }

            ThreadViewStamp FoundView = _threadViewStampRepository.First(item => item.UserID == userID && item.ThreadID == threadID);

            if (FoundView != null)
            {
                return(DateTime.Compare(lastPost.Date, FoundView.Date) > 0);
            }
            else
            {
                return(DateTime.Compare(lastPost.Date, user.LastLogoutDate) > 0);
            }
        }