using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NP.Model; using System.Collections; using NP.Base.Auth; using NP.Base.ENUM; using QRCoder; namespace NP.Base.Controllers { public partial class FCommonController : NP.Base.BaseController { [HttpPost] public JsonResult GetAttend(Int64 lectno) { var rtn = new Hashtable() { }; var d = Dao.Get("lect.lectinningpages", new System.Collections.Hashtable() { { "lectno", lectno }, { "userno", SUserInfo.UserNo } }); rtn.Add("d", d); var ds = new List() { }; foreach(var iseq in d.Select(s => s.iseq).Distinct()) { ds.Add(d.Where(w => w.iseq == iseq).First()); ds.Last().ccount = d.Where(w => w.iseq == iseq).Count(); } rtn.Add("h", ds); return JsonBack(rtn); } [HttpPost] public JsonResult PageLogs(String d1, String d2) { return JsonBack(Dao.Get("lect.pagelogs", new System.Collections.Hashtable() { { "from"+(string.IsNullOrEmpty(d1)?"x":""), d1 }, { "to" + (string.IsNullOrEmpty(d2) ? "x" : ""), d2 + " 23:59:59" }, { "userno", SUserInfo.UserNo }, { "logsite", 1 } })); } [HttpPost] public JsonResult CMRSGo(Int64 lectno, int rsno) { var rtn = new Hashtable() { }; rtn.Add("q", Dao.Get("cr.mycmrsq", new System.Collections.Hashtable() { { "lectno", lectno }, { "userno", SUserInfo.UserNo }, { "rsno", rsno } })); rtn.Add("qi", Dao.Get("cr.mycmrsqi", new System.Collections.Hashtable() { { "lectno", lectno }, { "userno", SUserInfo.UserNo }, { "rsno", rsno } })); return JsonBack(rtn); } [HttpPost] public JsonResult LectRSSave(Int64 lectno, int rsno, String sd) { var d = new LectRS() { lectno = lectno, userno = SUserInfo.UserNo, rsno = rsno, uno = SUserInfo.UserNo, uip = GetUserIP(), Ds = new List() { } }; foreach(var s in sd.Split(';')) { d.Ds.Add(new LectRS() { rscqno = GetInt(s.Split(':')[0]), atext = s.Split(':')[1] == "0" ? s.Split(':')[2] : s.Split(':')[2].Replace("▤", ";").Replace("▥", ":") }); } return JsonOK(Dao.Save("cr.lectrs.in", d)); } [HttpPost] public JsonResult SaveExam(Int64 lectno, int estno, String savedata, int issubmit, String qnos, bool isbackup = false, int cblock = 0) { var Exam = Dao.Get("cr.userexam.detailforexamforsubmit", new System.Collections.Hashtable() { {"lectno",lectno }, { "exno", estno}, { "userno", SUserInfo.UserNo } }).FirstOrDefault(); String OverTime = null; if (Exam == null) { issubmit = 0; OverTime = "1"; } var qis = Dao.Get("cr.questionitem.listforcheck", qnos); var ue = new LectEX() {lectno=lectno, userno = SUserInfo.UserNo, uno = SUserInfo.UserNo, uip = GetUserIP(), exno = Exam.exno, cblock = cblock }; //ue.sip = SIP; ue.UED = new List() { }; foreach (String sss in savedata.Split(';')) { String[] ss = sss.Split(':'); if (ss[4] == "0") { ue.UED.Add(new LectEXQ() { eqno = GetInt(ss[1]), atext = ss[2].Replace("|||PHDPHD|||", ";").Replace("|||PHD|||", ":"), qinos = ss[3], iscorrect = string.Join(",", qis.Where(w => w.qno == GetInt64(ss[0])).ToList().Select(s => s.qino)) == ss[2] ? 1 : 0 }); } else if (ss[6] == "0") { ue.UED.Add(new LectEXQ() { eqno = GetInt(ss[1]), atext = ss[2].Replace("|||PHDPHD|||", ";").Replace("|||PHD|||", ":"), qinos = ss[3], iscorrect = qis.Where(w => w.qno == GetInt64(ss[0])).Where(w => (w.qitext ?? "").Replace(ss[5] == "1" ? " " : "박건박건박효동", "") == (ss[2].Replace("$$$PHDPHD$$$", ";").Replace("$$$PHD$$$", ":") ?? "").Replace(ss[5] == "1" ? " " : "박건박건박효동", "")).Count() > 0 ? 1 : 0 }); } else { ue.UED.Add(new LectEXQ() { eqno = GetInt(ss[1]), atext = ss[2].Replace("|||PHDPHD|||", ";").Replace("|||PHD|||", ":"), qinos = ss[3], iscorrect = qis.Where(w => w.qno == GetInt64(ss[0])).Where(w => (w.qitext ?? "").Replace(ss[5] == "1" ? " " : "박건박건박효동", "").ToLower() == (ss[2].Replace("$$$PHDPHD$$$", ";").Replace("$$$PHD$$$", ":") ?? "").Replace(ss[5] == "1" ? " " : "박건박건박효동", "").ToLower()).Count() > 0 ? 1 : 0 }); } } ue.issubmit = issubmit; ue.zstring20 = OverTime; var rtn = Dao.Save("cr.examsubmit" + (isbackup ? "backup" : ""), ue); return JsonOK("1".Equals(OverTime) ? 0 : rtn, true); } [ValidateInput(false)] [HttpPost] public JsonResult SubjectSave(LectSD d) { d.uno = SUserInfo.UserNo; d.uip = GetUserIP(); d.userno = SUserInfo.UserNo; if (Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0) { d.fgno = SetFile(Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), d.fgno ?? 0, "lectsd", "fgno", 1, "XX", false, true, d.cmno); d.fgno = d.fgno == 0 ? (Int64?)null : d.fgno; } return JsonOK(Dao.Save("cr.lectsd.save", d)); } [HttpPost] public JsonResult LectSDBoardSave(LectSDBoard d) { d.uno = SUserInfo.UserNo; d.uip = GetUserIP(); d.userno = SUserInfo.UserNo; if (Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0) { d.fgno = SetFile(Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), d.fgno ?? 0, "lectsdboard", "fgno"); d.fgno = d.fgno == 0 ? (Int64?)null : d.fgno; } if (d.bno > 0) { return JsonOK(Dao.Save("cr.lectsdboard.save", d)); } Dao.Insert("cr.lectsdboard.in", d); return JsonOK(d.bno); } [HttpPost] public JsonResult LectSDBoardDel(Int64 bno) { return JsonOK(Dao.Save("cr.lectsdboard.del", new Hashtable() { {"userno", SUserInfo.UserNo },{"bno", bno },{"uno", SUserInfo.UserNo },{ "uip", GetUserIP()} })); } [HttpPost] public JsonResult LectSDBoardCMTSave(BoardCMT c) { c.uno = SUserInfo.UserNo; c.uip = GetUserIP(); if (c.bcno < 1) { Dao.Insert("cr.lectsdboardcmt.in", c); return JsonBack(new JsonRtn() { code = 1000, obj = c.bcno, msg = DateTime.Now.ToString("yyyy.MM.dd HH:mm") }); } return JsonOK(Dao.Save("cr.lectsdboardcmt.up", c)); } [HttpPost] public JsonResult LectSDBoardCMTDel(Int64 bcno) { return JsonOK(Dao.Save("cr.lectsdboardcmt.del", new Hashtable() { { "bcno", bcno }, { "cno", SUserInfo.UserNo }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } [HttpPost] public JsonResult AttCertCheck(int lectno) { var data = Dao.Get("lect.attcert.check", new Hashtable() { { "lectno", lectno } }).FirstOrDefault(); if (data.intval2 == 1 || data.intval3 == 1) { return JsonBack(new JsonRtn() { code = 1000, obj = 1 }); } else { if (data.intval == 1) { return JsonBack(new JsonRtn() { code = 1000, obj = 2 }); } if (!string.IsNullOrEmpty(data.strval)) { return JsonBack(new JsonRtn() { code = 1000, obj = 3, msg = data.strval }); } else { return JsonBack(new JsonRtn() { code = -1 }); } } } [HttpPost] public JsonResult LectComplete(Int64 lectno) { var ispass = Dao.Get("grade.ispass", new Hashtable() { { "lectno", lectno } } ).FirstOrDefault().ispass; if (ispass == 1) { return JsonOK(Dao.Save("grade.lectcomplete2", new Hashtable() { { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } else { return JsonBack(new JsonRtn() { code = 1, msg = "수료조건이 충족되지 않았습니다. 수료조건을 충족한 이후 요청해주세요" }); } } [HttpPost] public JsonResult ReExamForUser(int exno, Int64 lectno) { return JsonOK(Dao.Save("lect.reexam", new System.Collections.Hashtable() { { "exno", exno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }) > 1 ? 1 : 0); } } }