Пример #1
0
        //單筆文章回覆
        public article_reply_Tb GetArticleReply_Md(int?reply_id)
        {
            //判定是否有傳遞文章編號
            if (reply_id == null)
            {
                return(null);
            }
            article_reply_Tb item   = new article_reply_Tb();
            string           strSql = "select * from article_reply_Tb where reply_id = @id";

            SqlParameter[] objSqlParameter = new SqlParameter[] {
                new SqlParameter("@id", SqlDbType.Int)
            };
            objSqlParameter[0].Value = reply_id;
            using (SqlDataReader sqlDataReader = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql, objSqlParameter))
            {
                if (sqlDataReader.Read())
                {
                    item.reply_id     = int.Parse(sqlDataReader["reply_id"].ToString());
                    item.reply_txt    = sqlDataReader["reply_txt"].ToString();
                    item.reply_date   = DateTime.Parse(sqlDataReader["reply_date"].ToString());
                    item.reply_update = DateTime.Parse(sqlDataReader["reply_update"].ToString());
                    item.arti_id      = int.Parse(sqlDataReader["arti_id"].ToString());
                    item.user_id      = int.Parse(sqlDataReader["user_id"].ToString());
                    //item.user_Tb.user_id = int.Parse(sqlDataReader["user_id"].ToString());
                    //item.user_Tb.username = sqlDataReader["username"].ToString();
                }
            }
            return(item);
        }
Пример #2
0
        public ActionResult CheckReplyInfo(string article_txt)
        {
            Method.ValueIsEmpty(article_txt);
            //檢查articleId是否空白
            Method.ValueIsEmpty(Request.Form["article"]);
            if (Method.ValueIsEmpty_Val)
            {
                TempData[InternalVal._RESULTMSG] = "回覆不可空白!" + Method.RedirectUrl;
                return(RedirectToAction("ResultMessage", "Home"));
            }
            user_Tb userItem = new user_Tb();

            userItem = Service_User_P.GetUserInfo_Md(Session[InternalVal._SESSIONACCOUNT].ToString());
            article_reply_Tb articleReplyItem = new article_reply_Tb();

            articleReplyItem.reply_txt    = article_txt;
            articleReplyItem.reply_date   = DateTime.Now;
            articleReplyItem.reply_update = DateTime.Now;
            articleReplyItem.arti_id      = int.Parse(Request.Form["article"].Trim().ToString());
            articleReplyItem.user_id      = userItem.user_id;
            bool result = Service_Article_P.InsertArticleReply_Md(articleReplyItem);

            //前往回覆的文章
            Method.RedirectUrl = "/Article/ReviewArticle" + TempData["ArticleUrl"];
            TempData[InternalVal._RESULTMSG] = (result) ? "回覆成功!" : "回覆失敗!";
            return(RedirectToAction("ResultMessage", "Home"));
        }
Пример #3
0
        public bool DeleteArticleReply_Md(int articleReplyId)
        {
            article_reply_Tb objItem = GetArticleReply_Md(articleReplyId);

            db.article_reply_Tb.Remove(objItem);
            return(db.SaveChanges() > 0);
        }
Пример #4
0
        public bool DeleteArticleReply_Md(int articleReplyId)
        {
            article_reply_Tb objItem = GetArticleReply_Md(5);

            objItem = db.article_reply_Tb.Where(m => m.reply_id == objItem.reply_id).FirstOrDefault();
            db.article_reply_Tb.Remove(objItem);
            return(db.SaveChanges() > 0);
        }
Пример #5
0
 public bool UpdateArticleReply_Md(article_reply_Tb ArticleReplyInfo)
 {
     using (var connection = new SqlConnection(_connection))
     {
         string strSql = @"update article_reply_Tb set reply_txt = @reply_txt, reply_update = @reply_update 
         where reply_id = @reply_id";
         ArticleReplyInfo.reply_update = DateTime.Now;
         return(connection.Execute(strSql, ArticleReplyInfo) > 0);
     }
 }
Пример #6
0
        public bool InsertArticleReply_Md(article_reply_Tb addArticleReplyInfo)
        {
            article_reply_Tb objItem = new article_reply_Tb();

            objItem.reply_txt    = addArticleReplyInfo.reply_txt;
            objItem.reply_date   = addArticleReplyInfo.reply_date;
            objItem.reply_update = addArticleReplyInfo.reply_update;
            objItem.arti_id      = addArticleReplyInfo.arti_id;
            objItem.user_id      = addArticleReplyInfo.user_id;
            db.article_reply_Tb.Add(objItem);
            return(db.SaveChanges() > 0);
        }
Пример #7
0
        /// <summary>
        /// 刪除文章回覆
        /// </summary>
        /// <param name="replyId"></param>
        /// <param name="article"></param>
        /// <returns></returns>
        public ActionResult DeleteReply(int replyId, int article)
        {
            HomeViewModel    viewModel   = new HomeViewModel();
            article_reply_Tb replyItem   = new article_reply_Tb();
            article_Tb       articleItem = new article_Tb();

            replyItem                  = Service_Article_P.GetArticleReply_Md(replyId);
            articleItem                = Service_Article_P.GetArticle_Md(article);
            articleItem.title          = Method.StrSubstring(articleItem.title, 0, 30);
            viewModel.replyAritlceItem = replyItem;
            viewModel.articleItem      = articleItem;
            return(View(viewModel));
        }
Пример #8
0
        public PartialViewResult _RightArticleReply()
        {
            HomeViewModel viewModel = new HomeViewModel();
            //挑選出有回覆的文章
            List <article_Tb>       articleItems         = Service_Article_P.ListArticle_Md(null, null).Take(5).ToList();
            List <article_reply_Tb> articleReplyInfoList = new List <article_reply_Tb>();
            List <user_Tb>          userInfoList         = new List <user_Tb>();
            List <int>      replyCountList = new List <int>();
            List <board_Tb> boardList      = new List <board_Tb>();

            viewModel.articleList = articleItems;
            int num = 0;

            foreach (var item in articleItems)
            {
                num = Service_Article_P.GetArticleReplyCount_Md(item.arti_id);
                if (num > 0)
                {
                    article_reply_Tb articleReplyInfo = Service_Article_P.ListArticleReply_Md(item.arti_id).OrderByDescending(m => m.reply_id).FirstOrDefault();
                    articleReplyInfoList.Add(articleReplyInfo);
                    user_Tb userInfo = Service_User_P.GetUserInfo_Md(articleReplyInfo.user_id);
                    userInfoList.Add(userInfo);
                    boardList.Add(new board_Tb
                    {
                        id             = (int)item.arti_theme,
                        theme_board_id = item.board_id
                    });
                }
                //獲取當前討論版
                string strParameter = "";
                // 取得當前網址集合
                NameValueCollection nvc = Request.QueryString;
                var board = nvc["board"];
                var theme = nvc["theme"];
                if (board != null && theme != null)
                {
                    strParameter += "?board=" + board + "&theme=" + theme;
                }
                else if (board != null && theme == null)
                {
                    strParameter += "?board=" + board;
                }
                ViewBag.urlPara = strParameter;
                replyCountList.Add(num);
            }
            viewModel.replyCountList   = replyCountList;
            viewModel.replyAritlceList = articleReplyInfoList;
            viewModel.userInfoList     = userInfoList;
            viewModel.boardList        = boardList;
            return(PartialView(viewModel));
        }
Пример #9
0
        public ActionResult EditReply(int replyId, int?theme, string article_txt)
        {
            article_reply_Tb replyItem = new article_reply_Tb();

            replyItem           = Service_Article_P.GetArticleReply_Md(replyId);
            replyItem.reply_txt = article_txt;
            Service_Article_P.UpdateArticleReply_Md(replyItem);
            string articleUrl = (string)TempData["ArticleUrl"];

            //前往回覆的文章
            Method.RedirectUrl = "/Article/ReviewArticle" + articleUrl;
            //TempData[InternalVal._RESULTMSG] = (result) ? "回覆成功!" : "回覆失敗!";
            TempData[InternalVal._RESULTMSG] = "修改回覆成功!";
            return(RedirectToAction("ResultMessage", "Home"));
        }
Пример #10
0
        public bool UpdateArticleReply_Md(article_reply_Tb ArticleReplyInfo)
        {
            string strSql = "update article_reply_Tb set reply_txt = @reply_txt, reply_update = @reply_update " +
                            "where reply_id = @reply_id";

            SqlParameter[] sqlParameters = new SqlParameter[] {
                new SqlParameter("@reply_txt", SqlDbType.NText),
                new SqlParameter("@reply_update", SqlDbType.DateTime),
                new SqlParameter("@reply_id", SqlDbType.Int)
            };
            sqlParameters[0].Value = ArticleReplyInfo.reply_txt;
            sqlParameters[1].Value = DateTime.Now;
            sqlParameters[2].Value = ArticleReplyInfo.reply_id;
            return(SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql, sqlParameters) > 0);
        }
Пример #11
0
        //單筆文章回覆
        public article_reply_Tb GetArticleReply_Md(int?reply_id)
        {
            //判定是否有傳遞文章編號
            if (reply_id == null)
            {
                return(null);
            }
            article_reply_Tb item = new article_reply_Tb();

            using (var connection = new SqlConnection(_connection))
            {
                string strSql = "select * from article_reply_Tb where reply_id = @id";
                item = connection.QueryFirstOrDefault <article_reply_Tb>(strSql, new { id = reply_id });
            }
            return(item);
        }
Пример #12
0
        public ActionResult EditReply(int replyId, int board, int theme, string account)
        {
            Method.ValueIsEmpty(replyId);
            Method.ValueIsEmpty(account);
            if (Method.ValueIsEmpty_Val)
            {
                TempData[InternalVal._RESULTMSG] = "回覆資訊有誤!";
                return(RedirectToAction("ResultMessage", "Home"));
            }
            article_reply_Tb replyArticle = new article_reply_Tb();

            replyArticle = Service_Article_P.GetArticleReply_Md(replyId);
            user_Tb user = new user_Tb();

            user = Service_User_P.GetUserInfo_Md(replyArticle.user_id);
            HomeViewModel viewModel = new HomeViewModel();

            viewModel.replyAritlceItem = replyArticle;
            viewModel.userItem         = user;
            return(View(viewModel));
        }
Пример #13
0
        public ActionResult ReplyArticle(int?article, int?board, int?theme, int?reply)
        {
            //判斷是否有文章編號
            Method.ValueIsEmpty(article);
            if (Method.ValueIsEmpty_Val)
            {
                return(RedirectToAction("Index", "Home"));
            }
            HomeViewModel    viewModel   = new HomeViewModel();
            article_Tb       articleItem = new article_Tb();
            article_reply_Tb replyItem   = new article_reply_Tb();
            int num = (int)article;

            articleItem       = Service_Article_P.GetArticle_Md(num);
            articleItem.title = Method.StrSubstring(articleItem.title, 0, 50);
            board_Tb boardItem = new board_Tb();

            boardItem            = Service_Board_P.BoardItem_Md(null, theme);
            viewModel.replyCount = Service_Article_P.GetArticleReplyCount_Md((int)article);
            //回覆樓主
            TempData["replyAuthor"] = true;
            if (boardItem.theme_board_id != board && boardItem.id != theme)
            {
                TempData[InternalVal._RESULTMSG] = "發生錯誤!無法回覆文章!";
                return(RedirectToAction("ResultMessage", "Home"));
            }
            if (reply != null)
            {
                replyItem               = Service_Article_P.GetArticleReply_Md(reply);
                articleItem.arti_txt    = "\"引用:" + Method.StrSubstring(replyItem.reply_txt, 0, 30) + "\"";
                TempData["replyAuthor"] = false;
            }
            boardItem.theme_board_id = articleItem.board_id;
            boardItem.id             = (int)theme;
            boardItem.board_name     = Service_Board_P.GetBoardName_Md((int)board);
            boardItem.theme_name     = boardItem.theme_name;
            viewModel.articleItem    = articleItem;
            viewModel.boardItem      = boardItem;
            return(View(viewModel));
        }
Пример #14
0
        public PartialViewResult _LeftHotArticle()
        {
            HomeViewModel           viewModel        = new HomeViewModel();
            List <article_Tb>       articleList      = new List <article_Tb>();
            List <board_Tb>         boardList        = new List <board_Tb>();
            List <user_Tb>          userList         = new List <user_Tb>();
            List <article_reply_Tb> articleReplyList = new List <article_reply_Tb>();

            articleList = Service_Article_P.ListArticle_Md(null, null).OrderByDescending(m => m.view_num).ThenByDescending(m => m.arti_id).Take(5).ToList();

            //文章最新回覆的用戶ID
            article_reply_Tb articleReplyItem = new article_reply_Tb();
            user_Tb          userItem         = new user_Tb();

            for (int i = 0; i < articleList.Count(); i++)
            {
                //標題字數
                articleList[i].title = Method.StrSubstring(articleList[i].title, 0, 30);
                //討論版名稱
                boardList.Add(new board_Tb()
                {
                    id             = (int)articleList[i].arti_theme,
                    board_name     = Service_Board_P.GetBoardName_Md(articleList[i].board_id),
                    theme_board_id = articleList[i].board_id
                });
                articleReplyItem = Service_Article_P.ListArticleReply_Md(articleList[i].arti_id).OrderByDescending(m => m.reply_id).FirstOrDefault();
                if (articleReplyItem != null)
                {
                    userItem = Service_User_P.GetUserInfo_Md(articleReplyItem.user_id);
                    userList.Add(userItem);
                    articleReplyList.Add(articleReplyItem);
                }
            }
            viewModel.articleList      = articleList;
            viewModel.boardList        = boardList;
            viewModel.userInfoList     = userList;
            viewModel.replyAritlceList = articleReplyList;
            return(PartialView(viewModel));
        }
Пример #15
0
 public bool UpdateArticleReply_Md(article_reply_Tb ArticleReplyInfo)
 {
     return(Repository_Article_P.UpdateArticleReply_Md(ArticleReplyInfo));
 }
Пример #16
0
 public bool InsertArticleReply_Md(article_reply_Tb addArticleReplyInfo)
 {
     return(Repository_Article_P.InsertArticleReply_Md(addArticleReplyInfo));
 }