コード例 #1
0
        public ActionResult EditArticles(FormCollection form)
        {
            int        boardId       = 0;
            bool       resultBoardId = int.TryParse(form["boardId"].ToString(), out boardId);
            article_Tb Item          = new article_Tb();

            Item       = Service_Article_P.GetArticle_Md(boardId);
            Item.title = form["title"].Trim();
            int  themeId       = 0;
            bool resultthemeId = int.TryParse(form["theme_id"].ToString().Trim(), out themeId);

            if (resultthemeId)
            {
                Item.arti_theme = themeId;
            }
            Item.arti_txt = form["article_txt"];
            bool result = Service_Article_P.UpdateArticle_Md(Item);
            //如有更改theme則更改返回頁面時Url的theme值
            NameValueCollection nvc = (NameValueCollection)TempData["ArticleQueryString"];
            string url = "?";

            foreach (string key in nvc.Keys)
            {
                url += key + "=";
                url += (!key.Equals("theme")) ? nvc[key] : themeId.ToString();
                url += "&";
            }
            //收尾
            url += "order=0";
            Method.RedirectUrl = "/Article/ReviewArticle" + url;
            TempData[InternalVal._RESULTMSG] = "文章修改成功!";
            return(RedirectToAction("ResultMessage", "Home"));
        }
コード例 #2
0
        public ActionResult AddArticle(article_Tb articleItem)
        {
            if (articleItem == null)
            {
                TempData[InternalVal._RESULTMSG] = "發生錯誤!請重新發佈文章!";
                return(RedirectToAction("ResultMessage", "Home"));
            }
            //產生流水號
            string str = "";

            str += "AR000";
            str += DateTime.Now.ToString("yyMM");
            str += DateTime.Now.ToString("dd");
            str += new Random().Next(10, 99);
            str += DateTime.Now.ToString("hh");
            str += DateTime.Now.ToString("mm");
            str += DateTime.Now.ToString("ss");
            str += new Random().Next(10, 99);
            articleItem.numNo = str;
            bool result = Service_Article_P.InsertArticle_Md(articleItem);

            if (result)
            {
                TempData[InternalVal._RESULTMSG] = "文章發佈成功!";
            }
            else
            {
                TempData[InternalVal._RESULTMSG] = "文章發佈失敗!";
            }
            TempData["ArticleNO"] = str;
            article_Tb Item = Service_Article_P.GetArticle_Md(str);

            return(RedirectToAction("ReviewArticle", new { article = Item.arti_id, board = articleItem.board_id, theme = articleItem.arti_theme }));
        }
コード例 #3
0
        public bool InsertArticle_Md(article_Tb articleItem)
        {
            //為空則回傳false
            if (articleItem == null)
            {
                return(false);
            }
            string strSql = "insert article_tb (title, arti_date, arti_txt, view_num, arti_theme, board_id, user_id, numNo) " +
                            "values(@title, @arti_date, @arti_txt, @view_num, @arti_theme, @board_id, @user_id, @numNo)";

            SqlParameter[] sqlParameters = new SqlParameter[]
            {
                new SqlParameter("@title", SqlDbType.NChar),
                new SqlParameter("@arti_date", SqlDbType.DateTime),
                new SqlParameter("@arti_txt", SqlDbType.NText),
                new SqlParameter("@view_num", SqlDbType.Int),
                new SqlParameter("@arti_theme", SqlDbType.Int),     //某版區塊文章
                new SqlParameter("@board_id", SqlDbType.Int),       //全部文章
                new SqlParameter("@user_id", SqlDbType.Int),
                new SqlParameter("@numNo", SqlDbType.NVarChar)
            };
            sqlParameters[0].Value = articleItem.title.ToString();
            sqlParameters[1].Value = DateTime.Now;
            sqlParameters[2].Value = articleItem.arti_txt.ToString();
            sqlParameters[3].Value = 0;
            sqlParameters[4].Value = int.Parse(articleItem.arti_theme.ToString());
            sqlParameters[5].Value = int.Parse(articleItem.board_id.ToString());
            sqlParameters[6].Value = int.Parse(articleItem.user_id.ToString());
            sqlParameters[7].Value = articleItem.numNo.ToString();
            //是否有資料變更
            return(SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql, sqlParameters) > 0);
        }
コード例 #4
0
        public ActionResult CheckArticleInfo(string title, string board_id, string theme_id, string article_txt)
        {
            Method.ValueIsEmpty(title);
            Method.ValueIsEmpty(board_id);
            Method.ValueIsEmpty(theme_id);
            Method.ValueIsEmpty(article_txt);
            if (Method.ValueIsEmpty_Val)
            {
                return(View("LaunchArticle", (HomeViewModel)Session["ViewModel"]));
            }
            //int getBoardId = Service_Board_P.GetBoardIdOfTheme_Md(int.Parse(theme_id.Trim()));
            int getBoardId = Service_Board_P.GetBoardIdOfTheme_Md(int.Parse(theme_id.Trim()));

            if (getBoardId != int.Parse(board_id.Trim()))
            {
                TempData[InternalVal._RESULTMSG] = "該討論版無此分類!請重新發佈文章!";
                return(RedirectToAction("ResultMessage", "Home"));
            }
            article_Tb articleItem = new article_Tb()
            {
                title      = title.Trim(),
                arti_txt   = article_txt.Trim(),
                board_id   = int.Parse(board_id.Trim()),
                arti_theme = int.Parse(theme_id.Trim()),
                user_id    = Service_User_P.GetUserInfo_Md(Session[InternalVal._SESSIONACCOUNT].ToString()).user_id
            };

            return(RedirectToAction("AddArticle", articleItem));
        }
コード例 #5
0
        public bool UpdateArticle_Md(article_Tb articleItem)
        {
            article_Tb objItem = db.article_Tb.FirstOrDefault(m => m.arti_id == articleItem.arti_id);

            objItem.title       = articleItem.title.ToString();
            objItem.arti_update = DateTime.Now;
            objItem.arti_txt    = articleItem.arti_txt.ToString();
            objItem.arti_theme  = int.Parse(articleItem.arti_theme.ToString()); //更換文章區塊
            return(db.SaveChanges() > 0);
        }
コード例 #6
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));
        }
コード例 #7
0
        /// <summary>
        /// 觀看文章
        /// </summary>
        /// <param name="article"></param>
        /// <param name="board"></param>
        /// <param name="theme"></param>
        /// <returns></returns>
        public ActionResult ReviewArticle(int?article, int?board, int?theme)
        {
            HomeViewModel viewModel = new HomeViewModel();

            //文章ID為空直接跳轉至該討論版
            Method.ValueIsEmpty(article);
            if (Method.ValueIsEmpty_Val)
            {
                return(RedirectToAction("BoardArticle", new { board = board }));
            }
            //討論版ID為空直接跳轉至首頁
            Method.ValueIsEmpty(board);
            if (Method.ValueIsEmpty_Val)
            {
                return(RedirectToAction("Index", "Home"));
            }
            article_Tb articleItem = new article_Tb();

            articleItem = Service_Article_P.GetArticle_Md((int)article);
            //檢查該筆文章是否符合
            if (articleItem.arti_id != article || articleItem.board_id != board || articleItem.arti_theme != theme)
            {
                TempData[InternalVal._RESULTMSG] = "無該筆文章!";
                return(RedirectToAction("ResultMessage", "Home"));
            }
            //獲取當前的URL參數
            TempData["ArticleUrl"]         = Request.Url.Query;
            TempData["ArticleQueryString"] = Request.QueryString;
            //文章內容資訊
            viewModel.articleItem = articleItem;
            viewModel.replyCount  = Service_Article_P.GetArticleReplyCount_Md((int)article);
            viewModel.boardItem   = new board_Tb()
            {
                id         = (int)board,
                board_name = Service_Board_P.GetBoardName_Md((int)board)
            };
            viewModel.userItem = Service_User_P.GetUserInfo_Md(articleItem.user_id);
            //文章回覆
            List <article_reply_Tb> replyArticleItems = Service_Article_P.ListArticleReply_Md((int)article).ToList();

            viewModel.replyAritlceList = replyArticleItems;
            List <user_Tb> userItems = new List <user_Tb>();

            for (int i = 0; i < replyArticleItems.Count(); i++)
            {
                userItems.Add(Service_User_P.GetUserInfo_Md(replyArticleItems[i].user_id));
            }
            viewModel.userInfoList = userItems;
            return(View(viewModel));
        }
コード例 #8
0
        public ActionResult EditArticle(int article, int board, int theme)
        {
            HomeViewModel   viewModel   = new HomeViewModel();
            board_Tb        boardItem   = new board_Tb();
            article_Tb      articleItem = new article_Tb();
            List <board_Tb> themeItems  = new List <board_Tb>();

            articleItem              = Service_Article_P.GetArticle_Md(article);
            boardItem                = Service_Board_P.BoardItem_Md(null, theme);
            boardItem.id             = theme;
            boardItem.theme_board_id = board;
            boardItem.board_name     = Service_Board_P.GetBoardName_Md(board);
            themeItems               = Service_Board_P.ListTheme_Md(board);
            viewModel.articleItem    = articleItem;
            viewModel.boardItem      = boardItem;
            viewModel.themeList      = themeItems;
            return(View(viewModel));
        }
コード例 #9
0
 public bool InsertArticle_Md(article_Tb articleItem)
 {
     //為空則回傳false
     if (articleItem == null)
     {
         return(false);
     }
     using (var connection = new SqlConnection(_connection))
     {
         string strSql = @"insert article_tb (
                         title, arti_date, arti_txt, view_num, arti_theme,
                         board_id, user_id, numNo) 
                     values(
                         @title, @arti_date, @arti_txt, @view_num, @arti_theme, 
                         @board_id, @user_id, @numNo)";
         articleItem.arti_date = DateTime.Now;
         articleItem.view_num  = 0;
         //是否有資料變更
         return(connection.Execute(strSql, articleItem) > 0);
     }
 }
コード例 #10
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));
        }
コード例 #11
0
        /// <summary>
        /// 獲取單筆文章內容
        /// </summary>
        /// <param name="numStr">文章流水編號</param>
        /// <returns></returns>
        public article_Tb GetArticle_Md(string numStr)
        {
            article_Tb objItem = db.article_Tb.FirstOrDefault(s => s.numNo == numStr);

            return(objItem);
        }
コード例 #12
0
        /// <summary>
        /// 獲取單筆文章內容
        /// </summary>
        /// <param name="id">article_id</param>
        /// <returns></returns>
        public article_Tb GetArticle_Md(int id)
        {
            article_Tb objItem = db.article_Tb.FirstOrDefault(s => s.arti_id == id);

            return(objItem);
        }
コード例 #13
0
 public bool UpdateArticle_Md(article_Tb articleItem)
 {
     return(Repository_Article_P.UpdateArticle_Md(articleItem));
 }
コード例 #14
0
 public bool InsertArticle_Md(article_Tb articleItem)
 {
     return(Repository_Article_P.InsertArticle_Md(articleItem));
 }
コード例 #15
0
        /// <summary>
        /// 獲取單筆文章內容
        /// </summary>
        /// <param name="numStr">文章流水編號</param>
        /// <returns></returns>
        public article_Tb GetArticle_Md(string numStr)
        {
            article_Tb objItem = Repository_Article_P.GetArticle_Md(numStr);

            return(objItem);
        }