コード例 #1
0
ファイル: ThreadSummaryTest.cs プロジェクト: rocketeerbkw/DNA
 public static ThreadSummary CreateThreadSummaryTest()
 {
     var summary = new ThreadSummary
                       {
                           Subject = string.Empty,
                           DateLastPosted = new DateElement(DateTime.Now),
                           FirstPost = ThreadPostSummaryTest.GetThreadPostSummary(),
                           LastPost = ThreadPostSummaryTest.GetThreadPostSummary(),
                       };
     return summary;
 }
コード例 #2
0
ファイル: ThreadSummaryTest.cs プロジェクト: rocketeerbkw/DNA
        public void ApplyUserSettings_IsEditor_ReturnsDefaultValue()
        {
            var user = Mocks.DynamicMock<IUser>();
            user.Stub(x => x.IsEditor).Return(true);
            user.Stub(x => x.IsSuperUser).Return(false);

            var site = Mocks.DynamicMock<ISite>();
            site.Stub(x => x.IsEmergencyClosed).Return(false);
            site.Stub(x => x.IsSiteScheduledClosed(DateTime.Now)).Constraints(Is.Anything()).Return(false);
            Mocks.ReplayAll();

            var target = new ThreadSummary();
            target.ApplyUserSettings(user, site);
            Assert.AreEqual(0, target.CanWrite);
        }
コード例 #3
0
ファイル: ThreadSummaryTest.cs プロジェクト: rocketeerbkw/DNA
 public void ThreadIdTest()
 {
     var target = new ThreadSummary();
     const int expected = 1;
     target.ThreadId = expected;
     int actual = target.ThreadId;
     Assert.AreEqual(expected, actual);
 }
コード例 #4
0
ファイル: ThreadSummary.cs プロジェクト: rocketeerbkw/DNA
        /// <summary>
        /// 
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="forumId"></param>
        /// <param name="index"></param>
        /// <param name="applySkin">whether we need to apply the transform to the post</param>
        /// <returns></returns>
        public static ThreadSummary CreateThreadSummaryFromReader(IDnaDataReader reader, int forumId, int index, bool applySkin)
        {
            var thread = new ThreadSummary();
            thread.ForumId = forumId;
            thread.Index = index;
            thread.Type = string.Empty; //TODO: remove as this is a legacy ripley element


            if (reader.DoesFieldExist("ThisCanRead"))
            {
                thread.CanRead = (byte)(reader.GetBoolean("ThisCanRead") ? 1 : 0);
            }

            if (reader.DoesFieldExist("ThisCanWrite"))
            {
                thread.CanWrite = (byte)(reader.GetBoolean("ThisCanWrite") ? 1 : 0);

            }

           
            thread.ThreadId = reader.GetInt32NullAsZero("ThreadID");            
            thread.DateLastPosted = new DateElement(reader.GetDateTime("LastPosted"));
            if (reader.DoesFieldExist("cnt"))
            {
                thread.TotalPosts = reader.GetInt32NullAsZero("cnt");
            }
            
            if (reader.DoesFieldExist("firstpostentryid"))
            {
                thread.FirstPost = ThreadPostSummary.CreateThreadPostFromReader(reader, "FirstPost", reader.GetInt32NullAsZero("firstpostentryid"), applySkin);
            }

            if (reader.DoesFieldExist("lastpostentryid"))
            {
                thread.LastPost = ThreadPostSummary.CreateThreadPostFromReader(reader, "LastPost", reader.GetInt32NullAsZero("lastpostentryid"), applySkin);
            }

            if (reader.DoesFieldExist("FirstSubject"))
            {
                if (thread.FirstPost != null)
                {
                    thread.Subject = ThreadPost.FormatSubject(reader.GetString("FirstSubject"), (CommentStatus.Hidden)thread.FirstPost.Hidden);
                }
                else
                {
                    thread.Subject = ThreadPost.FormatSubject(reader.GetString("FirstSubject"), CommentStatus.Hidden.NotHidden );
                }
            }


            if(reader.DoesFieldExist("IsSticky"))
            {//conditionally check if field exists..
                thread.IsSticky = (reader.GetInt32NullAsZero("IsSticky")==1);
            }
            return thread;
        }