Example #1
0
        public static void UpdateArticleStatus(int ArticleID, ArticleStatus status)
        {
            ForumArticle mArticle = new ForumArticle();

            mArticle.Load(ArticleID);

            mArticle.ArticleStatus = (int)status;
            mArticle.Save();
        }
Example #2
0
        public static int InsertArticleItem(int CategoryID, int ArticleID, string Subject, string Reply, ArticleItemStatus status, int UserID, string NickName)
        {
            SqlConnection conn = CARETTA.DBI.DBHelper.getConnection();

            conn.Open();

            SqlTransaction Tran = conn.BeginTransaction(IsolationLevel.Serializable);

            int ArticleItemID;

            try
            {
                DateTime CreateDate = DateTime.Now;
                string   LastPost   = LastPostTemplate.Replace("||MemberID||", UserID.ToString()).Replace("||NickName||", NickName).Replace("||Date||", CreateDate.ToShortDateString() + " " + CreateDate.ToShortTimeString());

                ForumArticleItems mArticleItem = new ForumArticleItems();
                mArticleItem.ArticleID  = ArticleID;
                mArticleItem.CreateDate = CreateDate;
                mArticleItem.CreatedBy  = UserID;
                mArticleItem.Reply      = Reply;
                mArticleItem.Score      = 0;
                mArticleItem.ScoreCount = 0;
                mArticleItem.Status     = (int)status;
                mArticleItem.Subject    = Subject;
                mArticleItem.Save();
                ArticleItemID = mArticleItem.ArticleItemID;

                ForumArticle mArticle = new ForumArticle();
                mArticle.Load(ArticleID);
                mArticle.LastPost     = LastPost;
                mArticle.LastPostDate = CreateDate;
                mArticle.Replies     += 1;
                mArticle.Save();

                ForumCategory mCategory = new ForumCategory();
                mCategory.Load(CategoryID);
                mCategory.LastPost     = LastPost;
                mCategory.LastPostDate = CreateDate;
                mCategory.Save();

                Tran.Commit();
            }
            catch (Exception ex)
            {
                Tran.Rollback();
                throw;
            }
            finally
            {
                conn.Close();
            }

            return(ArticleItemID);
        }
Example #3
0
        public static ArticleStatus GetArticleStatus(int ArticleID)
        {
            ForumArticle mArticle = new ForumArticle();

            if (mArticle.Load(ArticleID))
            {
                return((ArticleStatus)mArticle.ArticleStatus);
            }

            return(ArticleStatus.Active);
        }
Example #4
0
        public static void UpdateArticleItem(int ArticleItemID, int ArticleID, string Subject, string Reply, ArticleItemStatus status)
        {
            SqlConnection conn = CARETTA.DBI.DBHelper.getConnection();

            conn.Open();

            SqlTransaction Tran = conn.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                ForumArticleItems mArticleItem = new ForumArticleItems();
                mArticleItem.Load(ArticleItemID);

                bool StatusChanged = false;
                if (mArticleItem.Status != (int)status)
                {
                    StatusChanged = true;
                }

                mArticleItem.Reply   = Reply;
                mArticleItem.Status  = (int)status;
                mArticleItem.Subject = Subject;
                mArticleItem.Save();

                ForumArticle mArticle = new ForumArticle();
                mArticle.Load(ArticleID);
                mArticle.ArticleMessage = Reply;
                mArticle.ArticleSubject = Subject;
                mArticle.Save();

                if (StatusChanged)
                {
                    ForumArticle.ArrangeArticle(mArticleItem.ArticleID);
                }

                Tran.Commit();
            }
            catch (Exception ex)
            {
                Tran.Rollback();
                throw;
            }
            finally
            {
                conn.Close();
            }
        }
Example #5
0
        public static void UpdateArticle(int ArticleID, string Subject, string Message, ArticleStatus status, int CategoryID)
        {
            SqlConnection conn = CARETTA.DBI.DBHelper.getConnection();

            conn.Open();

            SqlTransaction Tran = conn.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                ForumArticle mArticle = new ForumArticle();
                if (mArticle.Load(ArticleID))
                {
                    bool CategoryChanged = false;
                    int  OldCategoryID   = 0;
                    if (mArticle.CategoryID != CategoryID)
                    {
                        CategoryChanged = true;
                        OldCategoryID   = mArticle.CategoryID;
                    }

                    bool StatusChanged = false;
                    if (mArticle.ArticleStatus != (int)status)
                    {
                        StatusChanged = true;
                    }

                    bool SyncNeeded = false;
                    if (mArticle.ArticleSubject != Subject || mArticle.ArticleMessage != Message)
                    {
                        SyncNeeded = true;
                    }

                    mArticle.ArticleSubject = Subject;
                    mArticle.ArticleMessage = Message;
                    mArticle.ArticleStatus  = (int)status;
                    mArticle.CategoryID     = CategoryID;
                    mArticle.Save();

                    if (CategoryChanged)
                    {
                        ForumArticle.CategoryChange(OldCategoryID, CategoryID);
                    }

                    if (SyncNeeded)
                    {
                        ForumArticle.SyncMainItem(ArticleID, Subject, Message);
                    }

                    if (StatusChanged && (!CategoryChanged))
                    {
                        ForumCategory.ArrangeCategory(CategoryID);
                    }

                    Tran.Commit();
                }
            }
            catch (Exception ex)
            {
                Tran.Rollback();
                throw;
            }
            finally
            {
                conn.Close();
            }
        }