280 lines
15 KiB
C#
280 lines
15 KiB
C#
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<Lect>("cr.main.mygrade", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "cmno", vm.croomcmno},{ "userno", SUserInfo.UserNo} }).FirstOrDefault();
|
|
ViewBag.fronturl = "https://" + Request.Url.Host;
|
|
//ViewBag.fronturl = GetConfig("fronturl");
|
|
ViewBag.Mobile = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault().mobile;
|
|
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<Data>("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<LectInning>("cr.cminnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno",SUserInfo.UserNo}, { "notstudy" + (Request.IsLocal ? "x" : ""), 1 },{ "limit", 6} });
|
|
if (vm.LectInnings.Count() > 0 && !string.IsNullOrEmpty(vm.LectInnings.FirstOrDefault().existslectinning) && vm.LectInnings.FirstOrDefault().isrebate == 1)
|
|
{
|
|
vm.intval = Dao.Get<LectInning>("cr.lectinnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "isfinishtoday", 1 } }).Count();
|
|
}
|
|
return CView();
|
|
}
|
|
public ActionResult Plan()
|
|
{
|
|
vm.CM = Dao.Get<CM>("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<CMPR>("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "usertype", 11 } });
|
|
vm.CMEV = Dao.Get<CMEV>("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First();
|
|
vm.intval = Dao.Get<Lect>("lect.lects.my", new System.Collections.Hashtable() { { "lecnto", vm.croomlectno } }).First().isrebate;
|
|
return CView();
|
|
}
|
|
public ActionResult Innings()
|
|
{
|
|
vm.LectInnings = Dao.Get<LectInning>("cr.cminnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo } });
|
|
ViewBag.Mobile = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault().mobile;
|
|
if (!string.IsNullOrEmpty(vm.LectInnings.FirstOrDefault().existslectinning) && vm.LectInnings.Count() > 0 && vm.LectInnings.First().isrebate == 1)
|
|
{
|
|
vm.intval = Dao.Get<LectInning>("cr.lectinnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "isfinishtoday", 1 } }).Count();
|
|
}
|
|
return CView();
|
|
}
|
|
public ActionResult Research()
|
|
{
|
|
vm.CMRSes = Dao.Get<CMRS>("cr.mycmrs", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno",SUserInfo.UserNo} });
|
|
Lect lect = Dao.Get<Lect>("cr.checklectdate", new System.Collections.Hashtable() { { "lectno", vm.croomlectno } }).First();
|
|
ViewBag.isres = DateTime.Now <= lect.edate? 1 : -1;
|
|
return CView();
|
|
}
|
|
public ActionResult Grade()
|
|
{
|
|
vm.Lect = Dao.Get<Lect>("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<BoardMaster>("board.bms", new System.Collections.Hashtable() { { "bmno", cvm.croombmno } }).First();
|
|
if (cvm.BM.isuseopening == 1)
|
|
{
|
|
cvm.BMOs = Dao.Get<BoardMasterOpening>("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>("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>("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<File>() { };
|
|
if (cvm.Board.fgno != null)
|
|
{
|
|
cvm.FileList = GetFiles(cvm.Board.fgno.Value);
|
|
}
|
|
if (cvm.Board.isreply == 1)
|
|
{
|
|
cvm.BoardCMTs = Dao.Get<BoardCMT>("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<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", 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<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 (vm.Board.isreply == 1 && vm.Board.bno > 0)
|
|
{
|
|
vm.BoardCMTs = Dao.Get<BoardCMT>("board.boardcmts", vm.Board.bno);
|
|
}
|
|
return CView(vm);
|
|
}
|
|
public ActionResult Estimation(VMCRoom vm)
|
|
{
|
|
vm.Datas = Dao.Get<Data>("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<LectEX>("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<LectEXQ>("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<QuestionItem>();
|
|
if (vm.UserExamDatas.Count() > 0 && vm.UserExamDatas.Where(w => w.atype == 0).Count() > 0)
|
|
{
|
|
vm.QuestionItems = Dao.Get<QuestionItem>("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<LectEX>("lect.lectex.result", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "exno", vm.estno }, { "userno", SUserInfo.UserNo } }).First();
|
|
vm.UserExamDatas = Dao.Get<LectEXQ>("lect.lectexq.result", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "exno", vm.estno }, { "userno", SUserInfo.UserNo } });
|
|
vm.QuestionItems = Dao.Get<QuestionItem>("lect.lectexqqi.list", string.Join(",", vm.UserExamDatas.Select(s => s.qno)));
|
|
//정답비률
|
|
vm.EQs = Dao.Get<CMEXQ>("lect.lectexresult.rightrate", string.Join(",", vm.UserExamDatas.Select(s => s.eqno)));
|
|
//선택비율
|
|
vm.EQs2 = Dao.Get<CMEXQ>("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<File>() { };
|
|
vm.LectSD = Dao.Get<LectSD>("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<File>() { };
|
|
vm.LectSD = Dao.Get<LectSD>("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<LectSDBoard>("cr.lectsdboards", vm.LectSD.sdno);
|
|
return CView(vm);
|
|
}
|
|
public ActionResult DiscussReg(VMCRoom vm)
|
|
{
|
|
vm.FileList = new List<File>() { };
|
|
//if (vm.BNo < 1)
|
|
//{
|
|
// vm.LectSD = Dao.Get<LectSD>("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<LectSD>("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<LectSD>("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<LectSDBoard>("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<File>() { };
|
|
vm.LectSDBoard = Dao.Get<LectSDBoard>("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<BoardCMT>("cr.lectsdboardcmt", vm.LectSDBoard.bno);
|
|
return CView(vm);
|
|
}
|
|
}
|
|
}
|