using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NP.Model; using NP.Base; using System.Web.Routing; namespace NP.FO.Controllers { public class CRoomController : CRoomBaseController { protected override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); ViewBag.Files = (new NP.Model.VMBase()).Files; } public ActionResult Index() { vm.Lect = Dao.Get("cr.main.mygrade", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "cmno", vm.croomcmno},{ "userno", SUserInfo.UserNo} }).FirstOrDefault(); ViewBag.fronturl = GetConfig("fronturl"); if (vm.Lect == null) { return Redirect("/My/Lecture"); } String bmnos = null; if (!string.IsNullOrEmpty(ViewBag.mainboardmaster)) { foreach(var s in ViewBag.mainboardmaster.Split(';')) { bmnos += "," + s.Split(':')[0]; } } vm.Datas = Dao.Get("cr.main.boardalarm", new System.Collections.Hashtable() { { "bmnos", bmnos != null ? bmnos.Substring(1) : bmnos},{ "lect", vm.croomlectno },{ "cmno", vm.croomcmno }, { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo } }); vm.LectInnings = Dao.Get("cr.cminnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno",SUserInfo.UserNo}, { "notstudy"+(Request.IsLocal?"x":""), 1 },{ "limit", 6} }); if (vm.LectInnings.Count() > 0 && vm.LectInnings.First().isrebate == 1) { vm.intval = Dao.Get("cr.lectinnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "isfinishtoday", 1 } }).Count(); } return CView(); } public ActionResult Plan() { vm.CM = Dao.Get("cm.cm", new System.Collections.Hashtable() { { "cmno", vm.croomcmno },{ "htmlcolumns", ",a.introhtml,a.targethtml,a.goalhtml,a.contenthtml,a.studyplace,cc.cname studyplacename" } }).First(); vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "usertype", 11 } }); vm.CMEV = Dao.Get("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First(); vm.intval = Dao.Get("lect.lects.my", new System.Collections.Hashtable() { { "lecnto", vm.croomlectno } }).First().isrebate; return CView(); } public ActionResult Innings() { vm.LectInnings = Dao.Get("cr.cminnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo } }); if (vm.LectInnings.Count() > 0 && vm.LectInnings.First().isrebate == 1) { vm.intval = Dao.Get("cr.lectinnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "isfinishtoday", 1 } }).Count(); } return CView(); } public ActionResult Research() { vm.CMRSes = Dao.Get("cr.mycmrs", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno",SUserInfo.UserNo} }); return CView(); } public ActionResult Grade() { vm.Lect = Dao.Get("cr.main.mygrade", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "cmno", vm.croomcmno },{ "userno", SUserInfo.UserNo} }).FirstOrDefault(); return CView(); } public ActionResult Boards(VMCRoom cvm) { ViewBag.croombmno = cvm.croombmno.ToString(); cvm.BM = Dao.Get("board.bms", new System.Collections.Hashtable() { { "bmno", cvm.croombmno } }).First(); if (cvm.BM.isuseopening == 1) { cvm.BMOs = Dao.Get("board.bmos", cvm.BM.bmno); } cvm.pagerowcount = cvm.pagerowcount < 1 ? 10 : cvm.pagerowcount; var ht = SetHash(cvm); ht.Add("bmno", cvm.BM.bmno); ht.Add("isopen", 1); ht.Add("opno", cvm.opno); ht.Add("getcontents", 1); ht.Add("scc", cvm.scc); ht.Add("cmno", cvm.croomcmno < 1 ? base.vm.croomcmno : cvm.croomcmno); cvm.Boards = Dao.Get("board.bs", ht); cvm.pagetotalcount = GetCount(cvm.Boards.FirstOrDefault()); cvm.pageviewcount = cvm.Boards.Count(); return CView(cvm); } public ActionResult BoardView(VMCRoom cvm) { ViewBag.croombmno = cvm.croombmno.ToString(); if (SUserInfo.UserNo < 1) { return Redirect("/Account/Index"); } cvm.Board = Dao.Get("board.bs", new System.Collections.Hashtable() { { "bno", cvm.BNo }, { "getcontents", 1 } }).First(); if (cvm.Board.issecr == 1 && cvm.Board.cno != SUserInfo.UserNo) { return Redirect("/"); } if (cvm.Board.cno != SUserInfo.UserNo) { Dao.Save("board.bd.read", cvm.BNo); } cvm.FileList = new List() { }; if (cvm.Board.fgno != null) { cvm.FileList = GetFiles(cvm.Board.fgno.Value); } if (cvm.Board.isreply == 1) { cvm.BoardCMTs = Dao.Get("board.boardcmts", cvm.Board.bno); } return CView(cvm); } public ActionResult BoardReg(VMCRoom vm) { ViewBag.croombmno = vm.croombmno.ToString(); if (SUserInfo.UserNo < 1) { return Redirect("/Account/Index?ru=" + Request.Url.PathAndQuery); } 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", vm.croombmno } }).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 (vm.Board.isreply == 1 && vm.Board.bno > 0) { vm.BoardCMTs = Dao.Get("board.boardcmts", vm.Board.bno); } return CView(vm); } public ActionResult Estimation(VMCRoom vm) { vm.Datas = Dao.Get("cr.myestimation", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno", SUserInfo.UserNo }, {"exam"+(vm.tabidx == 0 || vm.tabidx == 1?"":"x"),1 }, {"subject"+(vm.tabidx == 0 || vm.tabidx == 2?"":"x"),1 }, {"discuss"+(vm.tabidx == 0 || vm.tabidx == 3?"":"x"),1 } }); return CView(vm); } public ActionResult EstimationExam(VMCRoom vm) { vm.LectEX = Dao.Get("cr.lectex", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno", SUserInfo.UserNo },{ "exno", vm.estno} }).First(); String ua = ""; try { ua = (Request.UserAgent ?? "").ToLower(); } catch (Exception ex) { ua = ""; } ViewBag.IsPortalAppBrowser = ua.ToLower().Contains("daumapp") || ua.ToLower().Contains("naver"); return CView(vm); } public ActionResult Exam(VMCRoom vm) { vm.UserExamDatas = Dao.Get("cr.userexamdata.start", new System.Collections.Hashtable() { { "lectno", vm.croomlectno}, { "exno", vm.estno }, { "userno", SUserInfo.UserNo }, { "uip", GetUserIP() },{"uno", SUserInfo.UserNo } }); vm.QuestionItems = new List(); if (vm.UserExamDatas.Count() > 0 && vm.UserExamDatas.Where(w => w.atype == 0).Count() > 0) { vm.QuestionItems = Dao.Get("cr.userexamquestionitem.get", new System.Collections.Hashtable() { { "orderby", vm.UserExamDatas.First().israndqi == 1 ? "a.qno, rand()" : "a.qno, a.qino" }, { "qnos", string.Join(",", vm.UserExamDatas.Where(w => w.atype == 0).ToList().Select(s => s.qno)) } }); } return CView(vm); } public ActionResult ExamRecord(VMCRoom vm) { vm.LectEX = Dao.Get("lect.lectex.result", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "exno", vm.estno }, { "userno", SUserInfo.UserNo } }).First(); vm.UserExamDatas = Dao.Get("lect.lectexq.result", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "exno", vm.estno }, { "userno", SUserInfo.UserNo } }); vm.QuestionItems = Dao.Get("lect.lectexqqi.list", string.Join(",", vm.UserExamDatas.Select(s => s.qno))); //정답비률 vm.EQs = Dao.Get("lect.lectexresult.rightrate", string.Join(",", vm.UserExamDatas.Select(s => s.eqno))); //선택비율 vm.EQs2 = Dao.Get("lect.lectexresult.selectrate", new System.Collections.Hashtable() { {"lectno",vm.croomlectno }, { "exno", vm.estno }, { "userno", SUserInfo.UserNo } }); return CView(vm); } public ActionResult EstimationSubject(VMCRoom vm) { vm.FileList = new List() { }; vm.LectSD = Dao.Get("cr.lectsd", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo }, { "sdno", vm.estno } }).First(); var fgnos = ""; if (vm.LectSD.sdfgno != null) { fgnos = "," + vm.LectSD.sdfgno.Value.ToString(); } if (vm.LectSD.fgno != null) { fgnos += "," + vm.LectSD.fgno.Value.ToString(); } if (fgnos != "") { vm.FileList = GetFiles(fgnos.Substring(1)); } return CView(vm); } public ActionResult EstimationDiscuss(VMCRoom vm) { vm.FileList = new List() { }; vm.LectSD = Dao.Get("cr.lectsd2", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo }, { "sdno", vm.estno } }).First(); if (vm.LectSD.sdfgno != null) { vm.FileList = GetFiles(vm.LectSD.sdfgno.Value); } vm.LectSDBoards = Dao.Get("cr.lectsdboards", vm.LectSD.sdno); return CView(vm); } public ActionResult DiscussReg(VMCRoom vm) { vm.FileList = new List() { }; //if (vm.BNo < 1) //{ // vm.LectSD = Dao.Get("cr.lectsd2", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo }, { "sdno", vm.estno } }).First(); // if (vm.LectSD.bno > 0) // { // vm.BNo = vm.LectSD.bno; // } //} vm.LectSD = Dao.Get("cr.lectsd2", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo }, { "sdno", vm.estno } }).First(); vm.LectSDBoard = new LectSDBoard() { }; if (vm.BNo > 0) { //vm.LectSD = Dao.Get("cr.lectsd2", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo }, { "sdno", vm.estno } }).First(); if (vm.LectSD.bno > 0) { vm.BNo = vm.LectSD.bno; } vm.LectSDBoard = Dao.Get("cr.lectsdboard", new System.Collections.Hashtable() { { "bno", vm.BNo }, { "userno", SUserInfo.UserNo } }).First(); if (vm.LectSDBoard.cno != SUserInfo.UserNo) { return RedirectToAction("/CRoom/Esitimation?" + base.vm.croomparam); } if (vm.LectSDBoard.fgno != null) { vm.FileList = GetFiles(vm.LectSDBoard.fgno.Value); } } return CView(vm); } public ActionResult DiscussView(VMCRoom vm) { vm.FileList = new List() { }; vm.LectSDBoard = Dao.Get("cr.lectsdboard", new System.Collections.Hashtable() { { "bno", vm.BNo },{"userno", SUserInfo.UserNo } }).First(); if (vm.LectSDBoard.fgno != null) { vm.FileList = GetFiles(vm.LectSDBoard.fgno.Value); } vm.BoardCMTs = Dao.Get("cr.lectsdboardcmt", vm.LectSDBoard.bno); return CView(vm); } } }