using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NP.Model; namespace NP.BO.Controllers { public class cmController : BOBaseController { public ActionResult terms(NP.Model.VMCM vm) { vm.Terms = InitM(); var ht = SetHash(vm); if (vm.stringval == null && !IsPost()) { vm.stringval = DateTime.Now.Year.ToString(); } ht.Add("tyear", vm.stringval); vm.Terms = Dao.Get("cm.terms", ht); vm.pagetotalcount = GetCount(vm.Terms.FirstOrDefault()); return View(vm); } public ActionResult termreg(NP.Model.VMCM vm) { vm.Term = new Term() { }; if (vm.intval > 0) { vm.Term = Dao.Get("cm.terms", new System.Collections.Hashtable() { { "tmno", vm.intval } }).First(); } else { vm.Term.tyear = DateTime.Now.Year; } return View(vm); } public ActionResult cgs(VMCM vm) { vm.CGs = InitM(); var ht = SetHash(vm); ht.Add("cgnamecode", vm.searchtext); ht.Add("isdel", 0); vm.CGs = Dao.Get("cm.cgs", ht); vm.pagetotalcount = GetCount(vm.CGs.FirstOrDefault()); vm.CGs2 = Dao.Get("cm.cgs", new System.Collections.Hashtable() { {"isuse",1 },{"istop",1 },{"isdel",0 } }); ViewBag.Fixed = ";" + OnCode + ";" + OnCode1 + ";" + OnCode2 + ";" + OnCode3 + ";" + OffCode + ";" + OffCode1 + ";" + OffCode2 + ";" + OffCode3 + ";" + TestCode + ";" + TestCode1 + ";" + TestCode2 + ";"; return View(vm); } public ActionResult cmmasters(NP.Model.VMCM vm) { vm.viewidx = 1; vm.viewname = "cmmasterreg"; vm.listviewname = "cmmasters"; return cms(vm); } /// /// 교육환경설정 > 강솨설정 /// /// /// public ActionResult cms(VMCM vm) { var p = new Hashtable(); vm.viewidxname = vm.viewidx == 1 ? "과정" : "강좌"; vm.viewname = vm.viewname ?? "cmreg"; vm.listviewname = vm.listviewname ?? "cms"; vm.CMs = InitM(); #region + [vm.CGs] Get: cm.cgs p.Clear(); p.Add("isuse", 1); p.Add("isdel", 0); vm.CGs = Dao.Get("cm.cgs", p); #endregion vm.ComCodes = GetComCodes("typeman,typeedu,typegrade,typejob,studyplace"); if (vm.viewidx == 0 && !string.IsNullOrEmpty(vm.stringval10)) { vm.stringval10 = vm.stringval10 ?? DateTime.Now.AddMonths(-1).ToString("yyyy-MM-01"); } if (vm.viewidx == 0 && !string.IsNullOrEmpty(vm.stringval11)) { vm.stringval11 = vm.stringval11 ?? DateTime.Now.AddMonths(1).ToString("yyyy-MM-01"); } #region + Get: [vm.Terms] cm.terms p.Clear(); vm.Terms = Dao.Get("cm.terms", p); #endregion #region + [vm.CMs] Get: cm.cms var ht = SetHash(vm); ht.Add("pcgno", vm.stringval); ht.Add("cgno", vm.stringval2); ht.Add("cshape", vm.stringval3); ht.Add("typeman", vm.stringval4); ht.Add("typeedu", vm.stringval5); ht.Add("typegrade", vm.stringval6); ht.Add("typejob", vm.stringval7); ht.Add("studyplace", vm.stringval8); ht.Add("cname", vm.stringval9); ht.Add("sstime", vm.stringval10); ht.Add("setime", vm.stringval11); ht.Add("tyear", vm.stringval12); ht.Add("tseq", vm.stringval13); ht.Add("ismaster", vm.viewidx); ht.Add("listcolumn", 1); vm.CMs = Dao.Get("cm.cms", ht); #endregion if (vm.viewidx == 0 && vm.CMs.Count() > 0) { #region + [vm.Datas] Get: cm.count.cmlect (수강신청 수 카운팅) p.Clear(); p.Add("cmnos", string.Join(",", vm.CMs.Select(s => s.cmno))); p.Add("ischanged", 0); vm.Datas = Dao.Get("cm.count.cmlect", p); #endregion } vm.pagetotalcount = GetCount(vm.CMs.FirstOrDefault()); vm.addstringval = "x"; if (vm.CMs.Count() > 0) { #region + [vm.addstringval] Get: cm.cm.checklect string p2 = string.Join(",", vm.CMs.Select(s => s.cmno)); var checklect = Dao.Get("cm.cm.checklect", p2).Select(s => s.cmno); vm.addstringval = string.Join(",", checklect); #endregion if (string.IsNullOrEmpty(vm.addstringval)) { vm.addstringval = "x"; } else { vm.addstringval = "," + vm.addstringval + ","; } } return View("cms", vm); } public ActionResult cmmasterreg(NP.Model.VMCM vm) { vm.CM = new CM() { isuse = 1, ismaster = 1 , isseq=1 , iscertificate=1}; return cmreg(vm); } /// /// 교육환경설정 > 강솨설정 > 기본정보 /// /// /// public ActionResult cmreg(VMCM vm) { var p = new Hashtable(); ViewBag.TestCode = TestCode; ViewBag.OffCode = OffCode; if (string.IsNullOrEmpty(vm.viewidxname)) { vm.viewidxname = vm.viewidx == 0 ? "강좌" : "과정"; } vm.viewname = vm.viewname ?? "cmreg"; vm.listviewname = vm.listviewname ?? "cms"; vm.Datas = new List() { }; vm.FileList = new List() { }; if (vm.intval > 0) { #region + [vm.CM] Get: cm.cms (cmno, allcolumn) p.Clear(); p.Add("cmno", vm.intval); p.Add("allcolumn", 1); vm.CM = Dao.Get("cm.cms", p).First(); #endregion #region + [vm.CGs] Get: cm.cgs (includepcgno, includecgno) p.Clear(); p.Add("includepcgno", vm.CM.pcgno); p.Add("includecgno", vm.CM.cgno); vm.CGs = Dao.Get("cm.cgs", p); #endregion #region + [vm.Datas] Get: cm.cmdatas (cmno, 단일 파라미터) vm.Datas = Dao.Get("cm.cmdatas", vm.CM.cmno); #endregion if (vm.CM.fgnocm != null) { #region + [vm.FileList] GetFiles (fgnocm.Value) vm.FileList = GetFiles(vm.CM.fgnocm.Value); #endregion } } else { #region + [vm.CGs] Get: cm.cgs (istop, isdel, isuse) p.Clear(); p.Add("istop", 1); p.Add("isdel", 0); p.Add("isuse", 1); vm.CGs = Dao.Get("cm.cgs", p); #endregion } #region + [vm.Assigns] Get: users.assigns (status, ismain) p.Clear(); p.Add("status", 1); p.Add("ismain", 1); vm.Assigns = Dao.Get("users.assigns", p); #endregion #region + [vm.ComCodes] GetComCodes (comma param) vm.ComCodes = GetComCodes("cert,certgrade,job,typeman,typeedu,typegrade,typejob,studyplace,typejob40,typejob41,typejob42,typejob43,typejob44,typejob45,typejob46,typejob47,typejob48,typejob49,typejob57"); #endregion #region + [vm.userauths] Get: sys.menu.auths (isadminprof) p.Clear(); p.Add("isadminprof", 1); vm.userauths = Dao.Get("sys.menu.auths", p); #endregion return View("cmreg", vm); } /* public ActionResult cmreg(VMCM vm) { ViewBag.TestCode = TestCode; ViewBag.OffCode = OffCode; if (string.IsNullOrEmpty(vm.viewidxname)) { vm.viewidxname = vm.viewidx == 0 ? "강좌" : "과정"; } vm.viewname = vm.viewname??"cmreg"; vm.listviewname = vm.listviewname??"cms"; vm.Datas = new List() { }; vm.FileList = new List() { }; if (vm.intval > 0) { vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.intval }, { "allcolumn", 1 } }).First(); vm.CGs = Dao.Get("cm.cgs", new System.Collections.Hashtable() { { "includepcgno", vm.CM.pcgno }, { "includecgno", vm.CM.cgno } }); vm.Datas = Dao.Get("cm.cmdatas", vm.CM.cmno); if (vm.CM.fgnocm != null) { vm.FileList = GetFiles(vm.CM.fgnocm.Value); } } else { vm.CGs = Dao.Get("cm.cgs", new System.Collections.Hashtable() { { "istop", 1 }, { "isdel", 0 }, { "isuse", 1 } }); } vm.Assigns = Dao.Get("users.assigns", new System.Collections.Hashtable() { { "status", 1 }, { "ismain", 1 } }); vm.ComCodes = GetComCodes("cert,certgrade,job,typeman,typeedu,typegrade,typejob,studyplace,typejob40,typejob41,typejob42,typejob43,typejob44,typejob45,typejob46,typejob47,typejob48,typejob49,typejob57"); vm.userauths = Dao.Get("sys.menu.auths",new System.Collections.Hashtable() { {"isadminprof", 1 } }); return View("cmreg", vm); } */ /// /// 교육환경설정 > 강솨설정 > 회차설정 /// /// /// public ActionResult cmreginning(VMCM vm) { var p = new Hashtable(); #region + [vm.CM] Get: cm.cms (cmno) p.Clear(); p.Add("cmno", vm.intval); vm.CM = Dao.Get("cm.cms", p).FirstOrDefault(); #endregion if (vm.CM == null) { return Redirect("/"); } #region + [vm.CMInnings] Get: cm.cminnings (cmno, isscd) p.Clear(); p.Add("cmno", vm.CM.cmno); p.Add("isscd", 0); vm.CMInnings = Dao.Get("cm.cminnings", p); #endregion #region + [vm.CMPRs] Get: cm.cmprs (cmno) p.Clear(); p.Add("cmno", vm.CM.cmno); vm.CMPRs = Dao.Get("cm.cmprs", p); #endregion #region + [vm.CMs] Get: cm.cms (ismaster, cshapes, orderby) p.Clear(); p.Add("ismaster", 1); p.Add("cshapes", "0,2"); p.Add("orderby", "a.cname"); vm.CMs = Dao.Get("cm.cms", p); #endregion ViewBag.fronturl = GetConfig("fronturl"); return View("cmreginning", vm); } public ActionResult cmmasterreginning(NP.Model.VMCM vm) { return cmreginning(vm); } public ActionResult cmmasterregest(NP.Model.VMCM vm) { return cmregest(vm); } /// /// 교육환경설정 > 강솨설정 > 평가설정 /// /// /// public ActionResult cmregest(VMCM vm) { var p = new Hashtable(); #region + [vm.CM] Get: cm.cms (cmno) p.Clear(); p.Add("cmno", vm.intval); vm.CM = Dao.Get("cm.cms", p).First(); #endregion #region + [vm.CMEV] Get: cm.cmev (cmno) p.Clear(); p.Add("cmno", vm.CM.cmno); vm.CMEV = Dao.Get("cm.cmev", p).FirstOrDefault() ?? new CMEV() { attend = 100, attendrfd = 100 }; #endregion #region + [vm.ESTs] Get: cm.est (cmno - 단일값 파라미터) vm.ESTs = Dao.Get("cm.est2", vm.CM.cmno); #endregion return View("cmregest", vm); } /* public ActionResult cmregest(VMCM vm) { vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.intval } }).First(); vm.CMEV = Dao.Get("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).FirstOrDefault() ?? new CMEV() { attend = 100, attendrfd = 100 }; vm.ESTs = Dao.Get("cm.est", vm.CM.cmno); return View("cmregest", vm); } */ public ActionResult cmmasterregex(NP.Model.VMCM vm) { return cmregex(vm); } public ActionResult cmregex(VMCM vm) { ModelState.Clear(); vm.CMEX = new CMEX() { cmno = vm.cmno ,isresultopen=1,extype=1}; vm.CMEXLayers = new List() { }; vm.CMEXQs = new List() { }; vm.ComGroups = Dao.Get("sys.comcode.glist", new System.Collections.Hashtable() { { "orderby", "cgroupname" } }); vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5"); vm.examsavable = ""; if (vm.intval > 0) { vm.CMEX = Dao.Get("cm.cmexes", new System.Collections.Hashtable() { { "exno", vm.intval } }).First(); vm.CMEXQs = Dao.Get("cm.cmexqs", vm.CMEX.exno); vm.examsavable = base.ExamSaveValid(vm.CMEX.exno); if (vm.CMEX.eqtype == 1) { vm.CMEXLayers = Dao.Get("cm.cmexlayers", vm.CMEX.exno); } //2025-12-24 / KHJ / 시험 응시 일시 시작일/종료일, 시간 변환 if (!string.IsNullOrWhiteSpace(vm.CMEX.testsdate)) { DateTime dt = DateTime.ParseExact(vm.CMEX.testsdate, "yyyy-MM-dd HH:mm", null); vm.stringval18 = dt.ToString("yyyy-MM-dd"); vm.stringval19 = dt.ToString("HH"); vm.stringval20 = dt.ToString("mm"); } if (!string.IsNullOrWhiteSpace(vm.CMEX.testedate)) { DateTime dt = DateTime.ParseExact(vm.CMEX.testedate, "yyyy-MM-dd HH:mm", null); vm.stringval21 = dt.ToString("yyyy-MM-dd"); vm.stringval22 = dt.ToString("HH"); vm.stringval23 = dt.ToString("mm"); } } ViewBag.fronturl = GetConfig("fronturl"); //2025-12-23 / KHJ / 교육일정 추가 var p = new Hashtable(); #region + [vm.CMInnings] Get: cm.cminnings (cmno, isonline, isscd) p.Clear(); p.Add("cmno", vm.cmno); p.Add("isonline", 0); p.Add("isscd", 1); vm.CMInnings = Dao.Get("cm.cminnings", p); #endregion vm.CMInningscds = new List() { }; if (vm.CMInnings.Count > 0) { #region + [vm.CMInningscds] Get: cm.cminningscds (cmino) p.Clear(); p.Add("cmino", vm.CMInnings[0].cmino); vm.CMInningscds = Dao.Get("cm.cminningscds", p); #endregion } if (vm.CMInningscds.Count() > 0) { long cmino = vm.CMInningscds.First().cmino; #region + [vm.CMInningscds2] Get: cm.cminningscds.attr2Check (cmno, cmino) p.Clear(); p.Add("cmno", vm.cmno); p.Add("cmino", cmino); vm.CMInningscds2 = Dao.Get("cm.cminningscds.attr2Check", p); #endregion } return View("cmregex", vm); } public ActionResult cmregsd(VMCM vm) { ModelState.Clear(); vm.CMSD = new CMSD() { cmno = vm.cmno, sdtype = -1 }; vm.examsavable = ""; if (vm.intval > 0) { vm.CMSD = Dao.Get("cm.cmsds", new System.Collections.Hashtable() { { "sdno", vm.intval } }).First(); vm.examsavable = base.SDSaveValid(vm.CMSD.sdno); if ((vm.CMSD.fgno ?? 0) > 0) { vm.FileList = GetFiles(vm.CMSD.fgno.Value); } } return View("cmregsd", vm); } public ActionResult cmregrs(VMCM vm) { ModelState.Clear(); vm.CMRS = new CMRS() { cmno = vm.cmno, rstype = -1 }; vm.examsavable = ""; //설문 회차조건 추가 vm.CMInnings = Dao.Get("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "isscd", 0 } }); if (vm.intval > 0) { vm.CMRS = Dao.Get("cm.cmrss", new System.Collections.Hashtable() { { "rsno", vm.intval } }).First(); vm.examsavable = base.RSSaveValid(vm.CMRS.rsno); if (String.IsNullOrEmpty(vm.examsavable)) { vm.RSCs = Dao.Get("cm.rscs", new System.Collections.Hashtable() { { "isuse", 1 } }); } } else { vm.RSCs = Dao.Get("cm.rscs", new System.Collections.Hashtable() { { "isuse", 1 } }); } return View("cmregrs", vm); } public ActionResult cmmasterregmenu(NP.Model.VMCM vm) { return cmregmenu(vm); } /// /// 교육환경설정 > 강솨설정 > 메뉴설정 /// /// /// public ActionResult cmregmenu(VMCM vm) { var p = new Hashtable(); #region + [vm.CM] Get: cm.cms (cmno) p.Clear(); p.Add("cmno", vm.intval); vm.CM = Dao.Get("cm.cms", p).First(); #endregion #region + [vm.CMMenus] Get: cm.cmmenus (단일파라미터 cmno) vm.CMMenus = Dao.Get("cm.cmmenus", vm.CM.cmno); #endregion #region + [vm.CMMenu] CMMenus 첫 번째 요소 추출 vm.CMMenu = vm.CMMenus.First(); #endregion #region + [vm.BoardMasters] Get: board.bms (bmposition, isopen, orderby) p.Clear(); p.Add("bmposition", 1); p.Add("isopen", 1); p.Add("orderby", "a.cdt"); vm.BoardMasters = Dao.Get("board.bms", p); #endregion return View("cmregmenu", vm); } /* public ActionResult cmregmenu(VMCM vm) { vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.intval } }).First(); vm.CMMenus = Dao.Get("cm.cmmenus", vm.CM.cmno); vm.CMMenu = vm.CMMenus.First(); vm.BoardMasters = Dao.Get("board.bms", new System.Collections.Hashtable() { {"bmposition",1 }, { "isopen", 1 },{ "orderby", "a.cdt"} }); return View("cmregmenu", vm); } */ /// /// 교육환경설정 > 강솨설정 > 교육일정 /// /// /// public ActionResult cmregeduschedule(VMCM vm) { var p = new Hashtable(); #region + [vm.CM] Get: cm.cms (cmno) p.Clear(); p.Add("cmno", vm.intval); vm.CM = Dao.Get("cm.cms", p).FirstOrDefault(); #endregion if (vm.CM == null) { return Redirect("/"); } #region + [vm.CMInnings] Get: cm.cminnings (cmno, isonline, isscd) p.Clear(); p.Add("cmno", vm.CM.cmno); p.Add("isonline", 0); p.Add("isscd", 1); vm.CMInnings = Dao.Get("cm.cminnings", p); #endregion vm.CMInningscds = new List() { }; if (vm.CMInnings.Count > 0) { #region + [vm.CMInningscds] Get: cm.cminningscds (cmino) p.Clear(); p.Add("cmino", vm.CMInnings[0].cmino); vm.CMInningscds = Dao.Get("cm.cminningscds", p); #endregion } if (vm.CMInningscds.Count() > 0) { long cmino = vm.CMInningscds.First().cmino; #region + [vm.CMInningscds2] Get: cm.cminningscds.attr2Check (cmno, cmino) p.Clear(); p.Add("cmno", vm.CM.cmno); p.Add("cmino", cmino); vm.CMInningscds2 = Dao.Get("cm.cminningscds.attr2Check", p); #endregion } #region + [vm.ComCodes] GetComCodes (studyplace) vm.ComCodes = GetComCodes("studyplace"); #endregion #region + [vm.CMPRs] Get: cm.cmprs (cmno) p.Clear(); p.Add("cmno", vm.CM.cmno); vm.CMPRs = Dao.Get("cm.cmprs", p); #endregion #region + 기본정보 담당자/교강사 [vm.Datas] Get: cm.cmdatas (cmno, 단일 파라미터) vm.Datas = Dao.Get("cm.cmdatas", vm.CM.cmno); #endregion ViewBag.fronturl = GetConfig("fronturl"); return View("cmregeduschedule", vm); } /* public ActionResult cmregeduschedule(VMCM vm) { vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.intval } }).FirstOrDefault(); if (vm.CM == null) { return Redirect("/"); } vm.CMInnings = Dao.Get("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "isonline", 0 },{"isscd",1 } }); vm.CMInningscds = new List() { }; if (vm.CMInnings.Count > 0) { vm.CMInningscds = Dao.Get("cm.cminningscds", new System.Collections.Hashtable() { { "cmino", vm.CMInnings[0].cmino } }); } if (vm.CMInningscds.Count() > 0) { long cmino = vm.CMInningscds.First().cmino; vm.CMInningscds2 = Dao.Get("cm.cminningscds.attr2Check", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "cmino", cmino } }); } vm.ComCodes = GetComCodes("studyplace"); vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }); ViewBag.fronturl = GetConfig("fronturl"); return View("cmregeduschedule", vm); } */ public ActionResult books(NP.Model.VMCM vm) { var ht = SetHash(vm); ht.Add("bknamelike", vm.stringval); vm.Books = Dao.Get("cm.books", ht); vm.pagetotalcount = GetCount(vm.Books.FirstOrDefault()); return View(vm); } public ActionResult bookreg(NP.Model.VMCM vm) { vm.Book = new Book() { isuse = 1 }; vm.FileList = new List() { }; if (vm.intval > 0) { vm.Book = Dao.Get("cm.books", new System.Collections.Hashtable() { { "bkno", vm.intval } }).First(); string fgnos = ""; if ((vm.Book.fgnothumb??0) > 0) { fgnos += "," + vm.Book.fgnothumb.ToString(); } if ((vm.Book.fgno?? 0) > 0) { fgnos += "," + vm.Book.fgno.ToString(); } if (fgnos != "") { fgnos = fgnos.Substring(1); if (fgnos.Contains(",")) { vm.FileList = GetFiles(fgnos); } else { vm.FileList = GetFiles(GetInt64(fgnos)); } } } return View(vm); } public ActionResult cc(NP.Model.VMCM vm) { ViewBag.savedata = vm.savedata ?? ""; ModelState.Clear(); vm.ComGroups = Dao.Get("mm.comcode.glist", new System.Collections.Hashtable() { { "rno", "cgroup" },{ "cgroups", "'ccdiff','cc1','cc2','cc3','cc4','cc5'" } }); vm.ComCode = new ComCode(); return View(vm); } public ActionResult cts(VMCM vm) { vm.CMs = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "ismaster", 1 }, { "orderby", "a.cname" },{ "cshapes","0,2" } }); vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5"); var ht = SetHash(vm); ht.Add("cmno", vm.stringval); ht.Add("ccdiff", vm.stringval2); ht.Add("cc1", vm.stringval3); ht.Add("cc2", vm.stringval4); ht.Add("cc3", vm.stringval5); ht.Add("cc4", vm.stringval6); ht.Add("cc5", vm.stringval7); ht.Add("ctname", vm.searchtext); ht.Add("isuse", vm.stringval8); vm.CTs = Dao.Get("cm.cts", ht); vm.addstringval = "x"; if (vm.CTs.Count() > 0) { vm.addstringval = string.Join(",", Dao.Get("cm.ct.check", string.Join(",", vm.CTs.Select(s => s.ctno))).Select(s => s.ctno)); if (string.IsNullOrEmpty(vm.addstringval)) { vm.addstringval = "x"; } else { vm.addstringval = "," + vm.addstringval +","; } } vm.pagetotalcount = GetCount(vm.CTs.FirstOrDefault()); ViewBag.Front = GetConfig("fronturl"); return View(vm); } public ActionResult ctr(VMCM vm) { ModelState.Clear(); vm.CT = new Model.CT() { ismenu = 1, isuse=1 ,ctype=3}; vm.CMs = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "ismaster", 1 }, { "orderby", "a.cname" }, { "cshapes","0,2" } }); vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5"); vm.FileList = new List() { }; vm.CTPs = new List() { }; vm.CTPs.Add(new CTPage() { }); vm.Datas = new List() { }; if (vm.intval > 0) { vm.CT = Dao.Get("cm.cts", new System.Collections.Hashtable() { { "ctno", vm.intval } }).First(); vm.CTPs = Dao.Get("cm.ctps", new System.Collections.Hashtable() { { "ctno", vm.CT.ctno } }); if (vm.CTPs.Count() < 1) { vm.CTPs.Add(new CTPage() { }); } String fgnos = vm.CT.fgno != null ? vm.CT.fgno.Value.ToString() : ""; fgnos += vm.CT.fgnotf != null ? (fgnos == "" ? vm.CT.fgnotf.Value.ToString() : ("," + vm.CT.fgnotf.Value.ToString())) : ""; fgnos += vm.CT.fgnothumb != null ? (fgnos == "" ? vm.CT.fgnothumb.Value.ToString() : ("," + vm.CT.fgnothumb.Value.ToString())) : ""; if (fgnos != "") { vm.FileList = GetFiles(fgnos); } if (vm.CT.ctno > 0 && vm.CT.ctype < 2) { //콘텐츠 목록 불러오기 var di = new System.IO.DirectoryInfo(Server.MapPath(vm.Files + "/Contents/" + vm.CT.ccode + "/")); GetDirectory(vm.Datas, di, 0, 0); System.IO.Directory.GetDirectories(Server.MapPath(vm.Files + "/Contents/" + vm.CT.ccode + "/")); } } ViewBag.Front = GetConfig("fronturl"); return View(vm); } private void GetDirectory(IList d, System.IO.DirectoryInfo di, int idx, int p) { foreach(var f in di.GetDirectories()) { d.Add(new Data() { intval = idx, intval2 = 0, strval = f.Name, intval3 = (d.Where(w => w.intval == idx).Count() == 0 ? 0 : d.Where(w=>w.intval == idx).Max(m=>m.intval3)) + 1, intval4 = p }); GetDirectory(d, f, idx + 1, d.Where(w => w.intval == idx).Max(m => m.intval3)); } foreach(var f in di.GetFiles()) { d.Add(new Data() { intval = idx, intval2 = 1, strval = f.Name, intval3 = (d.Where(w => w.intval == idx).Count() == 0 ? 0 : d.Where(w => w.intval == idx).Max(m => m.intval3)) + 1, intval4 = p }); } } public ActionResult qs(VMCM vm) { vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5"); vm.CMs = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "ismaster", 1 }, { "orderby", "a.cname" } }); var ht = SetHash(vm); vm.searchtype = vm.searchtype ?? "qtextstring"; ht.Add("cmno", vm.stringval); ht.Add("ccdiff", vm.stringval2); ht.Add("cc1", vm.stringval3); ht.Add("cc2", vm.stringval4); ht.Add("cc3", vm.stringval5); ht.Add("cc4", vm.stringval6); ht.Add("cc5", vm.stringval7); ht.Add("isuse", vm.stringval8); ht.Add(vm.searchtype, vm.searchtext); ht.Add("orderby", "a.udt desc"); vm.Qs = Dao.Get("cm.questions", ht); vm.pagetotalcount = GetCount(vm.Qs.FirstOrDefault()); return View(vm); } public ActionResult qr(VMCM vm) { ModelState.Clear(); vm.Question = new Model.Question() { atype = 0, isuse = 1 }; vm.Question.QIs = new List() { }; vm.CMs = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "ismaster", 1 }, { "orderby", "a.cname" } }); vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5"); vm.FileList = new List() { }; if (vm.intval > 0) { vm.intval3 = base.ExamQuestionCount(vm.intval); vm.Question = Dao.Get("cm.questions", new System.Collections.Hashtable() { { "qno", vm.intval } }).First(); vm.Question.QIs = Dao.Get("cm.questionitems", new System.Collections.Hashtable() { { "qno", vm.Question.qno }, { "isdel", 0 } }); var fgnos = string.Join(",", vm.Question.QIs.Where(w=>w.fgno != null).Select(s => s.fgno)); if (!string.IsNullOrEmpty(fgnos)) { vm.FileList = GetFiles(fgnos); } } ViewBag.Front = GetConfig("fronturl"); return View(vm); } /// /// 교육환경설정 > 강좌설정 > 시험설정 > 시험등록 > 문제추가 /// /// /// public ActionResult qp(VMCM vm) { vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5"); vm.CMs = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "ismaster", 1 }, { "orderby", "a.cname" } }); vm.ComGroups = Dao.Get("sys.comcode.glist", new System.Collections.Hashtable() { { "orderby", "cgroupname" } }); //교강사 조회 #region + 기본정보 담당자/교강사 [vm.Datas] Get: cm.cmdatas var p1 = new System.Collections.Hashtable(); p1.Add("stringval16", vm.stringval16); vm.Datas = Dao.Get("cm.cmdatas2", p1); #endregion var ht = new System.Collections.Hashtable(); if (IsPost()) { ht.Add("cmno", vm.stringval); ht.Add("qdiff", vm.stringval2); ht.Add("cc1", vm.stringval3); ht.Add("cc2", vm.stringval4); ht.Add("cc3", vm.stringval5); ht.Add("cc4", vm.stringval6); ht.Add("cc5", vm.stringval7); ht.Add("isuse", 1); if ("RSC".Equals(vm.stringval13)) { ht.Add("atypes", "0,2"); } if (!string.IsNullOrEmpty(vm.stringval8)) { ht.Add("qcount", GetInt(vm.stringval8)); } if (!string.IsNullOrEmpty(vm.stringval9)) { ht.Add("ecount", GetInt(vm.stringval9)); } if (!string.IsNullOrEmpty(vm.stringval10)) { ht.Add("rrate", GetInt(vm.stringval10)); } if (!string.IsNullOrEmpty(vm.stringval15)) { ht.Add("instuctorName", vm.stringval15); } if (!string.IsNullOrEmpty(vm.stringval14)) { ht.Add("scdinstuctor", vm.stringval14); } vm.Qs = Dao.Get("cm.questions2", ht); } vm.Qs = vm.Qs ?? new List(); return View(vm); } public ActionResult rs(VMCM vm) { var ht = SetHash(vm); ht.Add("rstype", vm.stringval); ht.Add("rscname", vm.stringval2); ht.Add("orderby", "a.udt desc"); vm.RSCs = Dao.Get("cm.rscs", ht); vm.pagetotalcount = GetCount(vm.RSCs.FirstOrDefault()); return View(vm); } public ActionResult rr(VMCM vm) { ModelState.Clear(); vm.RSC = new RSC() { rstype = -1, isuse = 1 }; vm.RSCQs = new List() { }; vm.examsavable = ""; if (vm.intval > 0) { vm.RSC = Dao.Get("cm.rscs", new System.Collections.Hashtable() { { "rscno", vm.intval } }).First(); vm.RSCQs = Dao.Get("cm.rscqs", vm.RSC.rscno); vm.examsavable = base.RSCSaveValid(vm.RSC.rscno); } return View("rr", vm); } public ActionResult pcs(VMCM vm) { vm.CMs = InitM(); if (!IsPost() && string.IsNullOrEmpty(vm.stringval)) { vm.stringval = DateTime.Now.Year.ToString(); } vm.Terms = Dao.Get("cm.terms", new System.Collections.Hashtable() { }); var ht = SetHash(vm); ht.Add("tyear", vm.stringval); ht.Add("tseq", vm.stringval2); ht.Add("cname", vm.stringval3); ht.Add("ismaster", 2); vm.CMs = Dao.Get("cm.cms", ht); if (vm.CMs.Count() > 0) { //수강신청 수 카운팅 vm.CMs2 = Dao.Get("cm.pcms", new System.Collections.Hashtable() { { "pcnos", string.Join(",", vm.CMs.Select(s => s.cmno)) } }); } vm.pagetotalcount = GetCount(vm.CMs.FirstOrDefault()); return View(vm); } public ActionResult pcr(VMCM vm) { vm.CM = new CM() { ismaster = 2, tyear = DateTime.Now.Year }; vm.Terms = Dao.Get("cm.terms", new System.Collections.Hashtable() { }); if (vm.intval > 0) { vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.intval } }).First(); vm.CMs = Dao.Get("cm.pcms", new System.Collections.Hashtable() { { "pcno", vm.CM.pcno } }); vm.CGs = Dao.Get("cm.cgs", new System.Collections.Hashtable() { { "includepcgno", vm.CM.pcgno }, { "includecgno", vm.CM.cgno } }); } else { vm.CMs = new List() { }; vm.CGs = Dao.Get("cm.cgs", new System.Collections.Hashtable() { { "istop", 1 }, { "isdel", 0 }, { "isuse", 1 } }); } return View(vm); } /// /// 교육환경설정 > 강좌설정 > 시험설정 /// /// /// public ActionResult cmregexset(VMCM vm) { var p = new Hashtable(); #region + [vm.CMInnings] Get: cm.cminnings (cmno, isonline, isscd) p.Clear(); p.Add("cmno", vm.intval); p.Add("isonline", 0); p.Add("isscd", 1); vm.CMInnings = Dao.Get("cm.cminnings", p); #endregion #region + [vm.CM] Get: cm.cms (cmno) p.Clear(); p.Add("cmno", vm.intval); vm.CM = Dao.Get("cm.cms", p).First(); #endregion #region + [vm.CMEV] Get: cm.cmev (cmno) p.Clear(); p.Add("cmno", vm.CM.cmno); vm.CMEV = Dao.Get("cm.cmev", p).FirstOrDefault() ?? new CMEV() { attend = 100, attendrfd = 100 }; #endregion #region + [vm.ESTs] Get: cm.est (cmno - 단일값 파라미터) p.Clear(); p.Add("cmno", vm.CM.cmno); p.Add("estart", vm.CM.estart); p.Add("eend", vm.CM.eend); p.Add("instructors", vm.CM.instructors); vm.ESTs = Dao.Get("cm.exlist", p); #endregion //교육일정이 존재하는지 조회 var scd = Dao.Get("cm.cminnigscd.exists", new Hashtable() { { "cmno", vm.CM.cmno } }); ViewBag.InningScd = scd.FirstOrDefault(); return View("cmregexset", vm); } public ActionResult cmmasterregexset(NP.Model.VMCM vm) { return cmregexset(vm); } } }