739 lines
24 KiB
C#
739 lines
24 KiB
C#
using NP.Model;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
|
|
namespace NP.FO.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 강의실 컨트롤러
|
|
/// </summary>
|
|
public class CRoomController : CRoomBaseController
|
|
{
|
|
/// <summary>
|
|
/// 강의실 컨트롤러 메서드가 실행전 호출됨
|
|
/// </summary>
|
|
/// <param name="filterContext"></param>
|
|
protected override void OnActionExecuting(ActionExecutingContext filterContext)
|
|
{
|
|
base.OnActionExecuting(filterContext);
|
|
ViewBag.Files = new VMBase().Files;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 홈
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult Index()
|
|
{
|
|
ViewBag.fronturl = $"https://{Request.Url.Host}";
|
|
string bmnos = null;
|
|
|
|
#region + vm.Lect = cr.main.mygrade
|
|
var p5 = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "cmno", vm.croomcmno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
|
|
vm.Lect = Dao.Get<Lect>("cr.main.mygrade", p5).FirstOrDefault();
|
|
#endregion
|
|
|
|
if (vm.Lect == null)
|
|
{
|
|
return Redirect("/My/Lecture");
|
|
}
|
|
|
|
#region + ViewBag.Mobile = users.users
|
|
var p6 = new Hashtable()
|
|
{
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
|
|
ViewBag.Mobile = Dao.Get<Users>("users.users", p6).FirstOrDefault().mobile;
|
|
#endregion
|
|
|
|
if (!string.IsNullOrEmpty(ViewBag.mainboardmaster))
|
|
{
|
|
foreach (var s in ViewBag.mainboardmaster.Split(';'))
|
|
{
|
|
bmnos += "," + s.Split(':')[0];
|
|
}
|
|
}
|
|
|
|
#region + var pplogGet = lect.pplog.get
|
|
var p2 = new Hashtable()
|
|
{
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "lectno", vm.Lect.lectno }
|
|
};
|
|
var pplogGet = Dao.Get<Lect>("lect.pplog.get", p2).FirstOrDefault();
|
|
|
|
vm.Lect.zstring1 = pplogGet.zstring1;
|
|
vm.Lect.zstring2 = pplogGet.zstring2;
|
|
vm.Lect.zstring3 = pplogGet.zstring3;
|
|
vm.Lect.zstring4 = pplogGet.zstring4;
|
|
vm.Lect.zstring5 = pplogGet.zstring5;
|
|
#endregion
|
|
|
|
#region + vm.Datas = cr.main.boardalarm
|
|
var p3 = new Hashtable()
|
|
{
|
|
{ "bmnos", !string.IsNullOrEmpty(bmnos) ? bmnos.Substring(1) : bmnos },
|
|
{ "lect", vm.croomlectno },
|
|
{ "cmno", vm.croomcmno },
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
|
|
vm.Datas = Dao.Get<Data>("cr.main.boardalarm", p3);
|
|
#endregion
|
|
|
|
#region + vm.LectInnings = cr.cminnings
|
|
var p1 = new Hashtable();
|
|
p1.Add("lectno", vm.croomlectno);
|
|
p1.Add("userno", SUserInfo.UserNo);
|
|
|
|
// 진도율 100% 이하일떄 6개 제한을 둠
|
|
if (vm.Lect.attrate < 100)
|
|
{
|
|
p1.Add("limit", 6);
|
|
}
|
|
|
|
// 진도율이 100% 이하 또는 디버깅용 로컬일때가 아니면
|
|
// "오늘 시청 가능한 limit 개 차시 중" 이 위에 limit 만큼 보여짐
|
|
if (vm.Lect.attrate < 100)
|
|
{
|
|
p1.Add("notstudy", 1);
|
|
}
|
|
|
|
vm.LectInnings = Dao.Get<LectInning>("cr.cminnings", p1);
|
|
#endregion
|
|
|
|
vm.intval2 = Convert.ToInt32(GetConfig("inninglimit") ?? "10");
|
|
|
|
foreach (var lectInning in vm.LectInnings)
|
|
{
|
|
lectInning.daylectinninglimit = vm.intval2;
|
|
}
|
|
|
|
if (vm.LectInnings.Count() > 0)
|
|
{
|
|
#region + vm.intval = cr.lectinnings
|
|
var p7 = new Hashtable()
|
|
{
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "isfinishtoday", 1 }
|
|
};
|
|
|
|
vm.intval = Dao.Get<LectInning>("cr.lectinnings", p7).Count();
|
|
#endregion
|
|
}
|
|
|
|
return CView();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 강좌소개
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult Plan()
|
|
{
|
|
var p = new Hashtable();
|
|
|
|
#region + vm.CM = cm.cm
|
|
p = new Hashtable()
|
|
{
|
|
{ "cmno", vm.croomcmno },
|
|
{ "htmlcolumns", ",a.introhtml,a.targethtml,a.goalhtml,a.contenthtml,a.studyplace,cc.cname studyplacename" }
|
|
};
|
|
vm.CM = Dao.Get<CM>("cm.cm", p).First();
|
|
#endregion
|
|
|
|
#region + vm.CMPRs = cm.cmprs
|
|
p.Clear();
|
|
p = new Hashtable()
|
|
{
|
|
{ "cmno", vm.CM.cmno },
|
|
{ "usertype", 11 }
|
|
};
|
|
|
|
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", p);
|
|
#endregion
|
|
|
|
#region + vm.CMEV = cm.cmev
|
|
p.Clear();
|
|
p = new Hashtable()
|
|
{
|
|
{ "cmno", vm.CM.cmno }
|
|
};
|
|
vm.CMEV = Dao.Get<CMEV>("cm.cmev", p).First();
|
|
#endregion
|
|
|
|
#region + vm.intval = lect.lects.my
|
|
p.Clear();
|
|
p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno }
|
|
};
|
|
vm.intval = Dao.Get<Lect>("lect.lects.my", p).First().isrebate;
|
|
#endregion
|
|
|
|
return CView();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 동영상시청
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult Innings()
|
|
{
|
|
#region + vm.LectInnings = cr.cminnings
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.LectInnings = Dao.Get<LectInning>("cr.cminnings", p);
|
|
#endregion
|
|
|
|
vm.intval2 = Convert.ToInt32(GetConfig("inninglimit") ?? "10");
|
|
|
|
foreach (var lectInning in vm.LectInnings)
|
|
{
|
|
lectInning.daylectinninglimit = vm.intval2;
|
|
}
|
|
|
|
#region + ViewBag.Mobile = users.users
|
|
var p2 = new Hashtable()
|
|
{
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
ViewBag.Mobile = Dao.Get<Users>("users.users", p2).FirstOrDefault().mobile;
|
|
#endregion
|
|
|
|
if (!string.IsNullOrEmpty(vm.LectInnings.FirstOrDefault().existslectinning) && vm.LectInnings.Count() > 0)
|
|
{
|
|
#region + vm.intval = cr.lectinnings
|
|
var p3 = new Hashtable()
|
|
{
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "isfinishtoday", 1 }
|
|
};
|
|
vm.intval = Dao.Get<LectInning>("cr.lectinnings", p3).Count();
|
|
#endregion
|
|
}
|
|
|
|
#region + vm.CMRSes = cr.mycmrs
|
|
var p4 = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.CMRSes = Dao.Get<CMRS>("cr.mycmrs", p4);
|
|
#endregion
|
|
|
|
return CView();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 설문참여
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult Research()
|
|
{
|
|
#region + vm.CMRSes = cr.mycmrs
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.CMRSes = Dao.Get<CMRS>("cr.mycmrs", p);
|
|
#endregion
|
|
|
|
#region + lect = cr.checklectdate
|
|
var p2 = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno }
|
|
};
|
|
Lect lect = Dao.Get<Lect>("cr.checklectdate", p2).First();
|
|
#endregion
|
|
|
|
ViewBag.isres = DateTime.Now <= lect.edate ? 1 : -1;
|
|
|
|
return CView();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 성적확인
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult Grade()
|
|
{
|
|
#region + vm.Lect = cr.main.mygrade
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "cmno", vm.croomcmno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
|
|
vm.Lect = Dao.Get<Lect>("cr.main.mygrade", p).FirstOrDefault();
|
|
#endregion
|
|
|
|
return CView();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 게시판 (croombmno 1:수료절차안내, 2:Q&A ...)
|
|
/// </summary>
|
|
/// <param name="cvm"></param>
|
|
/// <returns></returns>
|
|
public ActionResult Boards(VMCRoom cvm)
|
|
{
|
|
ViewBag.croombmno = cvm.croombmno.ToString();
|
|
|
|
#region + cvm.BM = board.bms
|
|
var p = new Hashtable()
|
|
{
|
|
{ "bmno", cvm.croombmno }
|
|
};
|
|
cvm.BM = Dao.Get<BoardMaster>("board.bms", p).First();
|
|
#endregion
|
|
|
|
if (cvm.BM.isuseopening == 1)
|
|
{
|
|
#region + cvm.BMOs = board.bmos
|
|
cvm.BMOs = Dao.Get<BoardMasterOpening>("board.bmos", cvm.BM.bmno);
|
|
#endregion
|
|
}
|
|
|
|
cvm.pagerowcount = cvm.pagerowcount < 1 ? 10 : cvm.pagerowcount;
|
|
|
|
#region + cvm.Boards = board.bs
|
|
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);
|
|
#endregion
|
|
|
|
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");
|
|
}
|
|
|
|
#region + cvm.Board = board.bs
|
|
var p = new Hashtable()
|
|
{
|
|
{ "bno", cvm.BNo },
|
|
{ "getcontents", 1 }
|
|
};
|
|
cvm.Board = Dao.Get<Board>("board.bs", p).First();
|
|
#endregion
|
|
|
|
if (cvm.Board.issecr == 1 && !(cvm.Board.cno == SUserInfo.UserNo || cvm.Board.pcno == SUserInfo.UserNo))
|
|
{
|
|
return Redirect("/");
|
|
}
|
|
|
|
if (cvm.Board.cno != SUserInfo.UserNo)
|
|
{
|
|
#region + board.bd.read
|
|
Dao.Save("board.bd.read", cvm.BNo);
|
|
#endregion
|
|
}
|
|
|
|
cvm.FileList = new List<File>() { };
|
|
|
|
if (cvm.Board.fgno != null)
|
|
{
|
|
cvm.FileList = GetFiles(cvm.Board.fgno.Value);
|
|
}
|
|
|
|
if (cvm.Board.isreply == 1)
|
|
{
|
|
#region + cvm.BoardCMTs = board.boardcmts
|
|
cvm.BoardCMTs = Dao.Get<BoardCMT>("board.boardcmts", cvm.Board.bno);
|
|
#endregion
|
|
}
|
|
|
|
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)
|
|
{
|
|
#region + vm.Board = board.bs
|
|
var p = new Hashtable()
|
|
{
|
|
{ "bno", vm.BNo },
|
|
{ "getcontents", 1 }
|
|
};
|
|
vm.Board = Dao.Get<Board>("board.bs", p).First();
|
|
#endregion
|
|
|
|
if (vm.Board.isuseopening == 1)
|
|
{
|
|
#region + vm.BMOs = board.bmos
|
|
vm.BMOs = Dao.Get<BoardMasterOpening>("board.bmos", vm.Board.bmno);
|
|
#endregion
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((vm.PBNo ?? 0) > 0)
|
|
{
|
|
#region + vm.Board.psubject = "board.bs"
|
|
var p = new Hashtable()
|
|
{
|
|
{ "bno", vm.PBNo }
|
|
};
|
|
vm.Board.psubject = Dao.Get<Board>("board.bs", p).First().subject;
|
|
#endregion
|
|
}
|
|
|
|
#region + vm.BM = board.bms
|
|
var p2 = new Hashtable()
|
|
{
|
|
{ "bmno", vm.croombmno }
|
|
};
|
|
vm.BM = Dao.Get<BoardMaster>("board.bms", p2).First();
|
|
#endregion
|
|
|
|
vm.Board.isreply = vm.BM.isreply;
|
|
vm.Board.isuseopening = vm.BM.isuseopening;
|
|
vm.Board.bmno = vm.BM.bmno;
|
|
|
|
if (vm.BM.isuseopening == 1)
|
|
{
|
|
#region + vm.BMOs = board.bmos
|
|
vm.BMOs = Dao.Get<BoardMasterOpening>("board.bmos", vm.BM.bmno);
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
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)
|
|
{
|
|
#region + vm.BoardCMTs = board.boardcmts
|
|
vm.BoardCMTs = Dao.Get<BoardCMT>("board.boardcmts", vm.Board.bno);
|
|
#endregion
|
|
}
|
|
|
|
return CView(vm);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 시험응시/과제제출
|
|
/// </summary>
|
|
/// <param name="vm"></param>
|
|
/// <returns></returns>
|
|
public ActionResult Estimation(VMCRoom vm)
|
|
{
|
|
#region + vm.Datas = cr.myestimation
|
|
var p1 = new 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 }
|
|
};
|
|
|
|
vm.Datas = Dao.Get<Data>("cr.myestimation", p1);
|
|
#endregion
|
|
|
|
// true일때 lms에서 시험내용으로 진입 가능
|
|
#region + var lectCheck = cr.myExCheck
|
|
ViewBag.exCheck = true;
|
|
|
|
var p2 = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
var lectCheck = Dao.Get<Data>("cr.myExCheck", p2);
|
|
|
|
#endregion
|
|
|
|
ViewBag.exCheck = lectCheck.Count > 0 ? true : false;
|
|
|
|
return CView(vm);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 시험응시 /과제제출 > 시험응시 페이지
|
|
/// </summary>
|
|
/// <param name="vm"></param>
|
|
/// <returns></returns>
|
|
public ActionResult EstimationExam(VMCRoom vm)
|
|
{
|
|
string ua = (Request?.UserAgent ?? "").ToLower();
|
|
ViewBag.IsPortalAppBrowser = ua.Contains("daumapp") || ua.Contains("naver");
|
|
|
|
#region + vm.LectEX = cr.lectex
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "exno", vm.estno }
|
|
};
|
|
vm.LectEX = Dao.Get<LectEX>("cr.lectex", p).First();
|
|
#endregion
|
|
|
|
return CView(vm);
|
|
}
|
|
|
|
public ActionResult Exam(VMCRoom vm)
|
|
{
|
|
#region + vm.UserExamDatas = cr.userexamdata.start
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno},
|
|
{ "exno", vm.estno },
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "uip", GetUserIP() },
|
|
{"uno", SUserInfo.UserNo }
|
|
};
|
|
vm.UserExamDatas = Dao.Get<LectEXQ>("cr.userexamdata.start", p);
|
|
#endregion
|
|
|
|
vm.QuestionItems = new List<QuestionItem>();
|
|
|
|
if (vm.UserExamDatas.Count() > 0 && vm.UserExamDatas.Where(w => w.atype == 0).Count() > 0)
|
|
{
|
|
#region + vm.QuestionItems = cr.userexamquestionitem.get
|
|
var p2 = new 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)) }
|
|
};
|
|
vm.QuestionItems = Dao.Get<QuestionItem>("cr.userexamquestionitem.get", p2);
|
|
#endregion
|
|
}
|
|
|
|
return CView(vm);
|
|
}
|
|
|
|
public ActionResult ExamRecord(VMCRoom vm)
|
|
{
|
|
#region + vm.LectEX = lect.lectex.result
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "exno", vm.estno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.LectEX = Dao.Get<LectEX>("lect.lectex.result", p).First();
|
|
#endregion
|
|
|
|
#region + vm.UserExamDatas = lect.lectexq.result
|
|
p.Clear();
|
|
p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "exno", vm.estno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.UserExamDatas = Dao.Get<LectEXQ>("lect.lectexq.result", p);
|
|
#endregion
|
|
|
|
#region + vm.QuestionItems = lect.lectexqqi.list
|
|
vm.QuestionItems = Dao.Get<QuestionItem>("lect.lectexqqi.list", string.Join(",", vm.UserExamDatas.Select(s => s.qno)));
|
|
#endregion
|
|
|
|
#region + vm.EQs = lect.lectexresult.rightrate (정답비율)
|
|
vm.EQs = Dao.Get<CMEXQ>("lect.lectexresult.rightrate", string.Join(",", vm.UserExamDatas.Select(s => s.eqno)));
|
|
#endregion
|
|
|
|
#region + vm.EQs2 = lect.lectexresult.selectrate (선택비율)
|
|
p.Clear();
|
|
p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "exno", vm.estno },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.EQs2 = Dao.Get<CMEXQ>("lect.lectexresult.selectrate", p);
|
|
#endregion
|
|
|
|
return CView(vm);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 강의실 > 시험응시/과제제출 > 과제제출 안내 (제출폼)
|
|
/// </summary>
|
|
/// <param name="vm"></param>
|
|
/// <returns></returns>
|
|
public ActionResult EstimationSubject(VMCRoom vm)
|
|
{
|
|
vm.FileList = new List<File>() { };
|
|
|
|
#region + vm.LectSD = cr.lectsd
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "sdno", vm.estno }
|
|
};
|
|
vm.LectSD = Dao.Get<LectSD>("cr.lectsd", p).First();
|
|
#endregion
|
|
|
|
string 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>() { };
|
|
|
|
#region + vm.LectSD = cr.lectsd2
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "sdno", vm.estno }
|
|
};
|
|
vm.LectSD = Dao.Get<LectSD>("cr.lectsd2", p).First();
|
|
#endregion
|
|
|
|
if (vm.LectSD.sdfgno != null)
|
|
{
|
|
vm.FileList = GetFiles(vm.LectSD.sdfgno.Value);
|
|
}
|
|
|
|
#region + vm.LectSDBoards = cr.lectsdboards
|
|
vm.LectSDBoards = Dao.Get<LectSDBoard>("cr.lectsdboards", vm.LectSD.sdno);
|
|
#endregion
|
|
|
|
return CView(vm);
|
|
}
|
|
|
|
public ActionResult DiscussReg(VMCRoom vm)
|
|
{
|
|
vm.FileList = new List<File>() { };
|
|
|
|
#region + vm.LectSD = cr.lectsd2
|
|
var p = new Hashtable()
|
|
{
|
|
{ "lectno", vm.croomlectno },
|
|
{ "userno", SUserInfo.UserNo },
|
|
{ "sdno", vm.estno }
|
|
};
|
|
vm.LectSD = Dao.Get<LectSD>("cr.lectsd2", p).First();
|
|
#endregion
|
|
|
|
vm.LectSDBoard = new LectSDBoard() { };
|
|
|
|
if (vm.BNo > 0)
|
|
{
|
|
vm.BNo = vm.LectSD.bno > 0 ? vm.LectSD.bno : vm.BNo;
|
|
|
|
#region + vm.LectSDBoard = cr.lectsdboard
|
|
p.Clear();
|
|
p = new Hashtable()
|
|
{
|
|
{ "bno", vm.BNo },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.LectSDBoard = Dao.Get<LectSDBoard>("cr.lectsdboard", p).First();
|
|
#endregion
|
|
|
|
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>() { };
|
|
|
|
#region + vm.LectSDBoard = cr.lectsdboard
|
|
var p = new Hashtable()
|
|
{
|
|
{ "bno", vm.BNo },
|
|
{ "userno", SUserInfo.UserNo }
|
|
};
|
|
vm.LectSDBoard = Dao.Get<LectSDBoard>("cr.lectsdboard", p).First();
|
|
#endregion
|
|
|
|
if (vm.LectSDBoard.fgno != null)
|
|
{
|
|
vm.FileList = GetFiles(vm.LectSDBoard.fgno.Value);
|
|
}
|
|
|
|
#region + vm.BoardCMTs = cr.lectsdboardcmt
|
|
vm.BoardCMTs = Dao.Get<BoardCMT>("cr.lectsdboardcmt", vm.LectSDBoard.bno);
|
|
#endregion
|
|
|
|
return CView(vm);
|
|
}
|
|
|
|
}
|
|
} |