123 lines
5.8 KiB
C#
123 lines
5.8 KiB
C#
|
|
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<BoardMaster>("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<BoardMasterOpening>("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>("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>("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<File>() { };
|
|||
|
|
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<BoardCMT>("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<BoardMasterOpening>() { };
|
|||
|
|
vm.Board = new Board() { pbno = vm.PBNo };
|
|||
|
|
if (vm.BNo > 0)
|
|||
|
|
{
|
|||
|
|
vm.Board = Dao.Get<Board>("board.bs", new System.Collections.Hashtable() { { "bno", vm.BNo }, { "getcontents", 1 } }).First();
|
|||
|
|
if (vm.Board.isuseopening == 1)
|
|||
|
|
{
|
|||
|
|
vm.BMOs = Dao.Get<BoardMasterOpening>("board.bmos", vm.Board.bmno);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
if ((vm.PBNo ??0)> 0)
|
|||
|
|
{
|
|||
|
|
vm.Board.psubject = Dao.Get<Board>("board.bs", new System.Collections.Hashtable() { { "bno", vm.PBNo } }).First().subject;
|
|||
|
|
}
|
|||
|
|
vm.BM = Dao.Get<BoardMaster>("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<BoardMasterOpening>("board.bmos", vm.BM.bmno);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (vm.Board.issecr == 1 && vm.Board.cno != SUserInfo.UserNo) { return Redirect("/"); }
|
|||
|
|
vm.FileList = new List<File>() { };
|
|||
|
|
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<BoardCMT>("board.boardcmts", vm.Board.bno);
|
|||
|
|
}
|
|||
|
|
return View(vm);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|