public void CreateDiscussionThread()
        {
            ManagedAccount        a = new ManagedAccount(Session);
            ManagedDiscussion     d = new ManagedDiscussion(Session);
            ManagedDiscussionPost p = new ManagedDiscussionPost(Session);

            try
            {
                a.Create("Test User", "testpassword", "*****@*****.**", DateTime.UtcNow, AdminSecurityContext);
                a.VerifyAllEmails();
                a.AddDefaultPicture();

                TransitDiscussion t_d = new TransitDiscussion();
                t_d.Description = GetNewString();
                t_d.Name        = GetNewString();
                t_d.Personal    = false;
                d.CreateOrUpdate(t_d, a.GetSecurityContext());

                TransitDiscussionPost t_p = new TransitDiscussionPost();
                t_p.Subject      = GetNewString();
                t_p.Body         = GetNewString();
                t_p.DiscussionId = d.Id;
                p.CreateOrUpdate(t_p, a.GetSecurityContext());

                Session.Flush();
            }
            finally
            {
                p.Delete(a.GetSecurityContext());
                d.Delete(a.GetSecurityContext());
                a.Delete(a.GetSecurityContext());
            }
        }
 public int MoveDiscussionPost(string ticket, int postid, int targetid)
 {
     using (SnCore.Data.Hibernate.Session.OpenConnection())
     {
         ISession session            = SnCore.Data.Hibernate.Session.Current;
         ManagedSecurityContext sec  = new ManagedSecurityContext(session, ticket);
         ManagedDiscussionPost  post = new ManagedDiscussionPost(session, postid);
         int id = post.Move(sec, targetid);
         SnCore.Data.Hibernate.Session.Flush();
         return(id);
     }
 }
        public void CreateDiscussionThreadInvalidChild()
        {
            ManagedAccount        a  = new ManagedAccount(Session);
            ManagedDiscussion     d1 = new ManagedDiscussion(Session);
            ManagedDiscussion     d2 = new ManagedDiscussion(Session);
            ManagedDiscussionPost p  = new ManagedDiscussionPost(Session);

            try
            {
                a.Create("Test User", "testpassword", "*****@*****.**", DateTime.UtcNow, AdminSecurityContext);
                a.VerifyAllEmails();
                a.AddDefaultPicture();

                TransitDiscussion t_d = new TransitDiscussion();
                t_d.Description = GetNewString();
                t_d.Name        = GetNewString();
                t_d.Personal    = false;
                d1.CreateOrUpdate(t_d, a.GetSecurityContext());

                t_d.Name = GetNewString();
                d2.CreateOrUpdate(t_d, a.GetSecurityContext());

                TransitDiscussionPost t_p = new TransitDiscussionPost();
                t_p.Subject      = GetNewString();
                t_p.Body         = GetNewString();
                t_p.DiscussionId = d1.Id;

                int id1 = p.CreateOrUpdate(t_p, a.GetSecurityContext());
                Assert.AreNotEqual(0, id1);

                t_p.DiscussionId = d2.Id;
                int id2 = p.CreateOrUpdate(t_p, a.GetSecurityContext());
                Assert.AreNotEqual(0, id2);

                // can't create child of other discussion
                t_p.DiscussionId           = d1.Id;
                t_p.DiscussionPostParentId = id2;
                int id3 = p.CreateOrUpdate(t_p, a.GetSecurityContext());

                Session.Flush();
            }
            finally
            {
                d1.Delete(AdminSecurityContext);
                d2.Delete(AdminSecurityContext);
                a.Delete(AdminSecurityContext);
            }
        }
Exemple #4
0
 public int MoveDiscussionPost(string ticket, int postid, int targetid)
 {
     using (SnCore.Data.Hibernate.Session.OpenConnection())
     {
         ISession session = SnCore.Data.Hibernate.Session.Current;
         ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket);
         ManagedDiscussionPost post = new ManagedDiscussionPost(session, postid);
         int result = post.MoveToAccountBlog(sec, targetid);
         SnCore.Data.Hibernate.Session.Flush();
         return result;
     }
 }