YNICTE/FO/Controllers/CRoomController.cs

279 lines
15 KiB
C#
Raw Normal View History

2020-10-12 14:39:23 +09:00
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 = GetConfig("fronturl");
2020-11-30 14:13:00 +09:00
ViewBag.Mobile = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault().mobile;
2020-10-12 14:39:23 +09:00
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 } });
2020-12-24 15:27:40 +09:00
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)
2020-10-12 14:39:23 +09:00
{
vm.intval = Dao.Get<LectInning>("cr.lectinnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "isfinishtoday", 1 } }).Count();
}
return CView();
}
public ActionResult Plan()
{
2020-10-13 16:10:18 +09:00
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();
2020-10-12 14:39:23 +09:00
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 } });
2020-12-03 09:00:31 +09:00
ViewBag.Mobile = Dao.Get<Users>("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault().mobile;
2020-12-16 13:11:04 +09:00
if (!string.IsNullOrEmpty(vm.LectInnings.FirstOrDefault().existslectinning) && vm.LectInnings.Count() > 0 && vm.LectInnings.First().isrebate == 1)
2020-10-12 14:39:23 +09:00
{
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} });
2021-01-26 17:26:54 +09:00
Lect lect = Dao.Get<Lect>("cr.checklectdate", new System.Collections.Hashtable() { { "lectno", vm.croomlectno } }).First();
ViewBag.isres = DateTime.Now <= lect.edate? 1 : -1;
2020-10-12 14:39:23 +09:00
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);
2021-06-09 10:10:57 +09:00
}
2020-10-12 14:39:23 +09:00
}
}