Пример #1
0
        public bool IsNew()
        {
            var tvi = ThreadVisitInfo.GetThreadVisitInfo(ThreadID);

            if (tvi == null)
            {
                return(true);
            }

            if (tvi.TopicViewRecentPostIDs.ContainsKey(ID) && RecentPostID > 0)
            {
                if (tvi.TopicViewRecentPostIDs[ID] >= RecentPostID)
                {
                    return(false);
                }
            }
            else if (RecentPostID > 0 && tvi.RecentVisitDate.CompareTo(RecentPostCreateDate) >= 0)
            {
                return(false);
            }

            else if (PostCount == 0)
            {
                return(false);
            }

            return(true);
        }
Пример #2
0
        public bool IsNew()
        {
            if (this.RecentPostID <= 0)
            {
                return(false);
            }

            var tvi = ThreadVisitInfo.GetThreadVisitInfo(this.ID);

            if (tvi == null)
            {
                return(true);
            }

            if (this.RecentPostCreateDate != DateTime.MinValue &&
                tvi.RecentVisitDate != DateTime.MinValue &&
                tvi.RecentVisitDate.CompareTo(this.RecentPostCreateDate) >= 0)
            {
                return(false);
            }

            if (tvi.TopicViewRecentPostIDs.Count == 0)
            {
                return(true);
            }

            foreach (var topicLastUpdate in TopicLastUpdates)
            {
                if (tvi.TopicViewRecentPostIDs.ContainsKey(topicLastUpdate.TopicID))
                {
                    if (tvi.TopicViewRecentPostIDs[topicLastUpdate.TopicID] < topicLastUpdate.RecentPostID)
                    {
                        return(true);
                    }
                }

                else if (tvi.RecentVisitDate != DateTime.MinValue)
                {
                    if (tvi.RecentVisitDate.CompareTo(topicLastUpdate.RecentPostCreateDate) < 0)
                    {
                        return(true);
                    }
                }

                else
                {
                    return(true);
                }
            }

            return(false);
        }