using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using NP.Model; namespace NP.FO.Controllers { public class BoardController : FOOpenBaseController { public ActionResult List(VMCC vm) { vm.BM = Dao.Get("board.bms", new System.Collections.Hashtable() { { "bmno", ViewBag.MenuPage.bmno } }).FirstOrDefault(); if (vm.BM == null) { return Redirect("/"); } if (vm.BM.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.BM.bmno); } vm.pagerowcount = vm.pagerowcount < 1 ? 10 : vm.pagerowcount; var ht = SetHash(vm); ht.Add("bmno", vm.BM.bmno); ht.Add("isopen", 1); ht.Add("opno", vm.opno); ht.Add("getcontents", 1); ht.Add("scc", vm.scc); ht.Add("qna", SUserInfo.UserNo); vm.Boards = Dao.Get("board.bs", ht); vm.pagetotalcount = GetCount(vm.Boards.FirstOrDefault()); vm.pageviewcount = vm.Boards.Count(); //보기,쓰기 페이지번호 가져오기 if (!string.IsNullOrEmpty(ViewBag.MenuPage.imagecode)) { vm.boardvpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode+";;;;;;").Split(';')[0]).FirstOrDefault() ?? new MenuPage()).pno; vm.boardwpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode+";;;;;;").Split(';')[1]).FirstOrDefault() ?? new MenuPage()).pno; } return View(vm); } [ActionName("View")] public ActionResult BoardView(VMCC vm) { if (!string.IsNullOrEmpty(Request.Url.ToString().Split('?')[1].Split('&')[1].Split('=')[1])) { vm.BNo = Convert.ToInt32(Request.Url.ToString().Split('?')[1].Split('&')[1].Split('=')[1]); } vm.Board = Dao.Get("board.bs", new System.Collections.Hashtable() { { "bno", vm.BNo },{ "getcontents",1 } }).First(); if(vm.Board.bmtype != 0) { if (SUserInfo.UserNo < 1) { return Redirect("/Account/Index"); } if ((vm.Board.issecr == 1 && vm.Board.cno != SUserInfo.UserNo) && (vm.Board.issecr == 1 && vm.Board.pcno != ViewBag.SSUserNo)) { return Redirect("/");} } if (vm.Board.cno != SUserInfo.UserNo) { Dao.Save("board.bd.read", vm.BNo); } vm.FileList = new List() { }; if (vm.Board.fgno != null) { vm.FileList = GetFiles(vm.Board.fgno.Value); } //보기,쓰기 페이지번호 가져오기 if (!string.IsNullOrEmpty(ViewBag.MenuPage.imagecode)) { vm.boardpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[0]).FirstOrDefault() ?? new MenuPage()).pno; vm.boardwpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[1]).FirstOrDefault() ?? new MenuPage()).pno; } if (vm.Board.isreply == 1) { vm.BoardCMTs = Dao.Get("board.boardcmts", vm.Board.bno); } return View(vm); } public ActionResult Write(VMCC vm) { if (SUserInfo.UserNo < 1) { return Redirect("/Account/Index?ru="+Request.Url.PathAndQuery.Replace("&", "-")); } vm.BMOs = new List() { }; vm.Board = new Board() { pbno = vm.PBNo }; if (vm.BNo > 0) { vm.Board = Dao.Get("board.bs", new System.Collections.Hashtable() { { "bno", vm.BNo }, { "getcontents", 1 } }).First(); if (vm.Board.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.Board.bmno); } } else { if ((vm.PBNo ??0)> 0) { vm.Board.psubject = Dao.Get("board.bs", new System.Collections.Hashtable() { { "bno", vm.PBNo } }).First().subject; } vm.BM = Dao.Get("board.bms", new System.Collections.Hashtable() { { "bmno", ViewBag.MenuPage.bmno } }).First(); vm.Board.isreply = vm.BM.isreply; vm.Board.isuseopening = vm.BM.isuseopening; vm.Board.bmno = vm.BM.bmno; if (vm.BM.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.BM.bmno); } } if (vm.Board.issecr == 1 && vm.Board.cno != SUserInfo.UserNo) { return Redirect("/"); } vm.FileList = new List() { }; if (vm.Board.fgno != null) { vm.FileList = GetFiles(vm.Board.fgno.Value); } //보기,쓰기 페이지번호 가져오기 if (!string.IsNullOrEmpty(ViewBag.MenuPage.imagecode)) { vm.boardpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[0]).FirstOrDefault() ?? new MenuPage()).pno; vm.boardvpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[1]).FirstOrDefault() ?? new MenuPage()).pno; } if (vm.Board.isreply == 1 && vm.Board.bno > 0) { vm.BoardCMTs = Dao.Get("board.boardcmts", vm.Board.bno); } return View(vm); } } }