using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NP.Model; using NP.Base; using System.Collections; using XPayClientNet; using NP.Model.ENUM; using System.Xml.Linq; namespace NP.FO.Controllers { public class CourseController : FOOpenBaseController { public ActionResult PayCover(VMPay vm) { if (string.IsNullOrEmpty(vm.items)) { return Redirect("/Course/Covers"); } vm.viewname4 = vm.viewname4 ?? ("https://" + Request.Url.Host + "/Course/CoverPayReturn"); //vm.viewname4 = vm.viewname4 ?? (GetConfig("fronturl") + "/Course/CoverPayReturn"); vm.viewname6 = vm.viewname6 ?? (GetConfig("pginfomobile").Split('|')[0] + "/Course/CoverPayReturn"); foreach (var d in vm.items.Split(';')) { var dd = d.Split(':'); if (dd[0] == "0") { vm.previewname = "/CoverDetail?cmno=" + dd[1]; break; } } //vm.previewname = vm.previewname ?? "/Course/Ons"; base.PayAll(vm); return View("Pay", vm); } public ActionResult BookPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult PayBook(VMPay vm) { if (string.IsNullOrEmpty(vm.items)) { return Redirect("/Course/Books"); } vm.viewname4 = vm.viewname4 ?? ("https://" + Request.Url.Host + "/Course/BookPayReturn"); //vm.viewname4 = vm.viewname4 ?? (GetConfig("fronturl") + "/Course/BookPayReturn"); vm.viewname6 = vm.viewname6 ?? (GetConfig("pginfomobile").Split('|')[0] + "/Course/BookPayReturn"); foreach (var d in vm.items.Split(';')) { var dd = d.Split(':'); if (dd[0] == "2") { vm.previewname = "/Book?bkno=" + dd[1]; break; } } //vm.previewname = vm.previewname ?? "/Course/Offs"; base.PayAll(vm); return View("Pay", vm); } public ActionResult BookBuy(VMCourse vm) { if (vm.bkno < 1) { return Redirect("/"); } vm.previewname = "/Course/Books"; vm.Book = Dao.Get("cm.books", new System.Collections.Hashtable() { { "bkno", vm.bkno } }).First(); return View(vm); } public ActionResult Book(int bkno) { var b = Dao.Get("cm.books", new System.Collections.Hashtable() { { "bkno", bkno }, { "isdetail", 1 } }).FirstOrDefault(); if (b == null) { return Redirect("/Course/Books"); } b.Files = new List() { }; if (b.fgno != null) { b.Files = GetFiles(b.fgno.Value); } ViewBag.Files = (new NP.Model.VMBase()).Files; return View(b); } public ActionResult Books(VMCourse vm) { var ht = SetHash(vm); ht.Add("isuse", 1); vm.Books = Dao.Get("cm.books", ht); vm.pagetotalcount = GetCount(vm.Books.FirstOrDefault()); return View(vm); } public ActionResult Exam(VMCourse vm) { vm.Exam = Dao.Get("exam.exams", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "exno", vm.exno } }).FirstOrDefault(); if (vm.Exam == null) { return Redirect("/Course/Exams"); } vm.FileList = new List(); if (vm.Exam.fgno != null) { vm.FileList = GetFiles(vm.Exam.fgno.Value); } return View(vm); } public ActionResult Exams() { return View(Dao.Get("exam.exams", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo },{"isopen",1 } })); } public ActionResult CertPayReturn(VMPay vm) { return View(Dao.Get("pay.paylect.get", vm.Pay.payno).First()); } public ActionResult CertDetail(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/Certs"); } vm.previewname = vm.previewname ?? "/Course/Certs"; //20220726 var hsData = SetHash(vm); hsData.Add("cmno", vm.cmno); hsData.Add("userno", SUserInfo.UserNo); hsData.Add("contents", vm.Contents); vm.CM = Dao.Get("cm.cms.forbuy", hsData).First(); //vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First(); vm.CMEV = Dao.Get("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "usertype", 11 } }); if (vm.CM.fgnocm != null) { vm.FileList = GetFiles(vm.CM.fgnocm.Value); } return View("CertDetail", vm); } public ActionResult CertBuy(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First(); vm.ComCodes = GetComCodes("jobposition,job", true); for (int i = vm.ComCodes.Count() - 1; i > -1; i--) { if (vm.ComCodes[i].isuse == 0 && (vm.ComCodes[i].cgroup != "jobposition" || (vm.ComCodes[i].cgroup == "jobposition" && vm.ComCodes[i].refcode != "9"))) { vm.ComCodes.RemoveAt(i); } } return View(vm); } public ActionResult Certs(VMCourse vm) { vm.cgcode = TestCode1; vm.pcgcode = vm.pcgcode ?? TestCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime desc" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); } return View(vm); } public ActionResult Covers(VMCourse vm) { vm.cgcode = TestCode3; vm.pcgcode = vm.pcgcode ?? TestCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime desc" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); } return View(vm); } public ActionResult CoverDetail(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/Covers"); } vm.previewname = vm.previewname ?? "/Course/Covers"; vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First(); vm.CMEV = Dao.Get("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "usertype", 11 } }); if (vm.CM.fgnocm != null) { vm.FileList = GetFiles(vm.CM.fgnocm.Value); } return View(vm); } public ActionResult CoverBuy(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First(); vm.ComCodes = GetComCodes("jobposition,job", true); for (int i = vm.ComCodes.Count() - 1; i > -1; i--) { if (vm.ComCodes[i].isuse == 0 && (vm.ComCodes[i].cgroup != "jobposition" || (vm.ComCodes[i].cgroup == "jobposition" && vm.ComCodes[i].refcode != "9"))) { vm.ComCodes.RemoveAt(i); } } return View(vm); } public ActionResult PayOnBase(VMPay vm) { vm.viewname3 = "Base"; vm.previewname = vm.previewname ?? "/Course/OnBases"; vm.viewname4 = "https://" + Request.Url.Host + "/Course/OnBasePayReturn"; //vm.viewname4 = GetConfig("fronturl") + "/Course/OnBasePayReturn"; base.PayAll(vm); return PayOn(vm); } public ActionResult PayOnCollege(VMPay vm) { vm.viewname3 = "College"; vm.previewname = vm.previewname ?? "/Course/OnColleges"; vm.viewname4 = "https://" + Request.Url.Host + "/Course/OnCollegePayReturn"; //vm.viewname4 = GetConfig("fronturl") + "/Course/OnCollegePayReturn"; base.PayAll(vm); return PayOn(vm); } public ActionResult PayOn(VMPay vm) { vm.viewname4 = vm.viewname4 ?? ("https://" + Request.Url.Host + "/Course/OnPayReturn"); //vm.viewname4 = vm.viewname4 ?? (GetConfig("fronturl") + "/Course/OnPayReturn"); vm.viewname6 = vm.viewname6 ?? (GetConfig("pginfomobile").Split('|')[0] + "/Course/OnPayReturn"); foreach (var d in vm.items.Split(';')) { var dd = d.Split(':'); if (dd[0] == "0") { vm.previewname = "/OnDetail?cmno=" + dd[1]; break; } } //vm.previewname = vm.previewname ?? "/Course/Ons"; base.PayAll(vm); return View("Pay", vm); } public ActionResult OnBuyCollege(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } vm.viewname3 = "College"; vm.previewname = vm.previewname ?? "/Course/OnColleges"; POnBuy(vm); return View("OnBuy", vm); } public ActionResult OnBuyBase(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } vm.viewname3 = "Base"; vm.previewname = vm.previewname ?? "/Course/OnBases"; POnBuy(vm); return View("OnBuy", vm); } public ActionResult OnBuy(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } POnBuy(vm); return View("OnBuy", vm); } private void POnBuy(VMCourse vm) { vm.viewname3 = vm.viewname3 ?? ""; vm.previewname = "/Course/Ons"; vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First(); vm.ComCodes = GetComCodes("jobposition,job", true); for (int i = vm.ComCodes.Count() - 1; i > -1; i--) { if (vm.ComCodes[i].isuse == 0 && (vm.ComCodes[i].cgroup != "jobposition" || (vm.ComCodes[i].cgroup == "jobposition" && vm.ComCodes[i].refcode != "9"))) { vm.ComCodes.RemoveAt(i); } } } public ActionResult Offs(VMCourse vm) { //오프라인교육만 vm.CMs = Dao.Get("cm.cms.offs", new System.Collections.Hashtable() {{ "year", DateTime.Now.Year } }); vm.viewname = vm.viewname ?? "OffList"; return View("Offs", vm); } public ActionResult OffDetail(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/Offs"); } //else if (Response.IsRequestBeingRedirected) //{ // return RedirectToAction("OffDetail", new { cmno = vm.cmno }); //} vm.viewname3 = vm.viewname3 ?? ""; vm.previewname = vm.previewname ?? "/Course/Offs"; vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First(); vm.CMEV = Dao.Get("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "usertype", 11 } }); if (vm.CM.fgnocm != null) { vm.FileList = GetFiles(vm.CM.fgnocm.Value); } return View("OffDetail", vm); } public ActionResult OffBuy(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } POffBuy(vm); return View("OffBuy", vm); } public ActionResult OnDetailCollege(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/OnColleges"); } vm.viewname3 = "College"; vm.previewname = vm.previewname ?? "/Course/OnColleges"; return OnDetail(vm); } public ActionResult OnDetailBase(VMCourse vm) { if (vm.cmno < 1){return Redirect("/Course/OnBases");} vm.viewname3 = "Base"; vm.previewname = vm.previewname ?? "/Course/OnBases"; return OnDetail(vm); } public ActionResult OnDetail(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/Ons"); } vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, {"contents", vm.Contents } }).FirstOrDefault(); if (vm.CM == null) { return Redirect("/Course/Ons"); } vm.CMEV = Dao.Get("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "usertype", 11 } }); if (vm.CM.fgnocm != null) { vm.FileList = GetFiles(vm.CM.fgnocm.Value); } Thumbs(vm, true, true); return View("OnDetail", vm); } public ActionResult OnColleges(VMCourse vm) { vm.cgcode = OnCode1; vm.pcgcode = vm.pcgcode ?? OnCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "cnamelike", vm.cname }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime desc" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); Thumbs(vm, false, true); } vm.viewname = "OnSearch"; vm.viewname2 = "OnColleges"; vm.viewname3 = "College"; vm.previewname = "/Course/OnColleges?cname=" + (vm.cname ?? ""); return View("Ons", vm); } public ActionResult OnBases(VMCourse vm) { vm.cgcode = OnCode2; vm.pcgcode = vm.pcgcode ?? OnCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "cnamelike", vm.cname }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime desc" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); Thumbs(vm, false, true); } vm.viewname = "OnSearch"; vm.viewname2 = "OnBases"; vm.viewname3 = "Base"; vm.previewname = "/Course/OnBases?cname=" + (vm.cname ?? ""); return View("Ons", vm); } public ActionResult OnSearch(VMCourse vm) { vm.pcgcode = vm.pcgcode ?? OnCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cnamelike", vm.cname }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime,a.cname" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); Thumbs(vm, false, true); } vm.viewname = vm.viewname2 = "OnSearch"; vm.previewname = "/Course/OnSearch?cname=" + (vm.cname ?? ""); return View("Ons", vm); } public ActionResult Ons(VMCourse vm) { vm.viewname = vm.viewname ?? "OnList"; vm.viewname2 = vm.viewname2 ?? "OnSearch"; vm.pcgcode = vm.pcgcode ?? OnCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "userno", SUserInfo.UserNo }/*, { "year", DateTime.Now.Year }*/,{ "orderby", "a.retime desc"},{ "isrequestable",1 }, { "contents", vm.Contents } }); ViewBag.OnCode1 = OnCode1; Thumbs(vm); return View(vm); } private void Thumbs(VMCourse vm, bool iscm = false, bool isbig = false) { if (iscm) { vm.CM.isbig = isbig?1:0; } else { foreach(var d in vm.CMs) { d.isbig = isbig ? 1 : 0; } } //if (iscm && !string.IsNullOrEmpty(vm.CM.tasteurl)) //{ // var d = vm.CM; // //Thumbnail 확인 // if (!System.IO.File.Exists(Server.MapPath(vm.Thumbnails + "/" + d.cmno + ".jpg"))) // { // if (!System.IO.Directory.Exists(Server.MapPath(vm.Files + vm.Thumbnails))) // { // System.IO.Directory.CreateDirectory(Server.MapPath(vm.Files + vm.Thumbnails + "/")); // } // String thumbargs = "-i " + Server.MapPath(vm.Contents + d.tasteurl) + " -vframes 1 -ss 00:00:07 -s 150x150 " + Server.MapPath(vm.Thumbnails + "/" + d.cmno + ".jpg"); // System.Diagnostics.Process thumbproc = new System.Diagnostics.Process(); // thumbproc = new System.Diagnostics.Process(); // thumbproc.StartInfo.FileName = GetConfig("thumbnailexe"); // thumbproc.StartInfo.Arguments = thumbargs; // thumbproc.StartInfo.UseShellExecute = false; // thumbproc.StartInfo.CreateNoWindow = false; // thumbproc.StartInfo.RedirectStandardOutput = false; // try // { // thumbproc.Start(); // d.tasteurl = vm.Thumbnails + "/" + d.cmno + ".jpg"; // } // catch (Exception ex) // { // SetError("ffmpeg: " + ex.Message); // d.tasteurl = isbig ? "/img/online/fair_sample01.jpg" : "/img/main/main_edu_thumb01.jpg"; // } // thumbproc.WaitForExit(); // thumbproc.Close(); // //_repository.CreateUniqueFullPath(_path); // } // else // { // d.tasteurl = vm.Thumbnails + "/" + d.cmno + ".jpg"; // } //} //else if (!iscm) //{ // foreach (var d in vm.CMs.Where(w => !string.IsNullOrEmpty(w.tasteurl))) // { // //Thumbnail 확인 // if (!System.IO.File.Exists(Server.MapPath(vm.Thumbnails + "/" + d.cmno + ".jpg"))) // { // if (!System.IO.Directory.Exists(Server.MapPath(vm.Files + vm.Thumbnails))) // { // System.IO.Directory.CreateDirectory(Server.MapPath(vm.Files + vm.Thumbnails + "/")); // } // String thumbargs = "-i " + Server.MapPath(vm.Contents + d.tasteurl) + " -vframes 1 -ss 00:00:07 -s 150x150 " + Server.MapPath(vm.Thumbnails + "/" + d.cmno + ".jpg"); // System.Diagnostics.Process thumbproc = new System.Diagnostics.Process(); // thumbproc = new System.Diagnostics.Process(); // thumbproc.StartInfo.FileName = GetConfig("thumbnailexe"); // thumbproc.StartInfo.Arguments = thumbargs; // thumbproc.StartInfo.UseShellExecute = false; // thumbproc.StartInfo.CreateNoWindow = false; // thumbproc.StartInfo.RedirectStandardOutput = false; // try // { // thumbproc.Start(); // d.tasteurl = vm.Thumbnails + "/" + d.cmno + ".jpg"; // } // catch (Exception ex) // { // SetError("ffmpeg: " + ex.Message); // d.tasteurl = "/img/main/main_edu_thumb01.jpg"; // } // thumbproc.WaitForExit(); // thumbproc.Close(); // //_repository.CreateUniqueFullPath(_path); // } // else // { // d.tasteurl = vm.Thumbnails + "/" + d.cmno + ".jpg"; // } // } //} } public ActionResult OffColleges(VMCourse vm) { vm.cgcode = OffCode1; vm.pcgcode = vm.pcgcode ?? OffCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "cnamelike", vm.cname }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime desc" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); } vm.viewname = "OffSearch"; vm.viewname2 = "OffColleges"; vm.viewname3 = "College"; vm.previewname = "/Course/OffColleges?cname=" + (vm.cname??""); return View("Offs", vm); } public ActionResult OffTotals(VMCourse vm) { vm.cgcode = OffCode2; vm.pcgcode = vm.pcgcode ?? OffCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "cnamelike", vm.cname }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime desc" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); } vm.viewname = "OffSearch"; vm.viewname2 = "OffTotals"; vm.viewname3 = "Total"; vm.previewname = "/Course/OffTotals?cname=" + (vm.cname ?? ""); return View("Offs", vm); } public ActionResult OffSpecials(VMCourse vm) { vm.cgcode = OffCode3; vm.pcgcode = vm.pcgcode ?? OffCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cgcode", vm.cgcode }, { "cnamelike", vm.cname }, { "userno", SUserInfo.UserNo }, { "isrequestable", 1 }/*, { "year", DateTime.Now.Year }*/, { "orderby", "a.retime desc" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s => s.cmno))); } vm.viewname = "OffSearch"; vm.viewname2 = "OffSpecials"; vm.viewname3 = "Special"; vm.previewname = "/Course/OffSpecials?cname=" + (vm.cname ?? ""); return View("Offs", vm); } public ActionResult OffSearch(VMCourse vm) { vm.pcgcode = vm.pcgcode ?? OffCode; vm.CMs = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "pcgcode", vm.pcgcode }, { "cnamelike", vm.cname },{"userno",SUserInfo.UserNo },{"isrequestable",1 }/*, { "year", DateTime.Now.Year }*/,{"orderby","a.retime,a.cname" }, { "contents", vm.Contents } }); if (vm.CMs.Count() > 0) { vm.CMBooks = Dao.Get("cm.cmbooks", string.Join(",", vm.CMs.Select(s=>s.cmno))); } vm.viewname = vm.viewname2 = "OffSearch"; vm.previewname = "/Course/OffSearch?cname=" + (vm.cname??""); return View("Offs", vm); } public ActionResult CCOn1(VMCourse vm) { vm.viewname = vm.viewname ?? "EduBOn1"; return View(vm); } public ActionResult CC1(VMCourse vm) { vm.viewname = vm.viewname ?? "EduB1"; return View(vm); } public ActionResult CC2(VMCourse vm) { vm.viewname = vm.viewname ?? "EduB2"; return View(vm); } public ActionResult CC3(VMCourse vm) { vm.viewname = vm.viewname ?? "EduB3"; return View(vm); } public ActionResult EduBOn1(VMCourse vm) { vm.EduB2B = new EduB2B() { etype = 1 }; return EduB2B(vm); } public ActionResult EduB1(VMCourse vm) { vm.EduB2B = new EduB2B() { etype = 2 }; return EduB2B(vm); } public ActionResult EduB2(VMCourse vm) { vm.EduB2B = new EduB2B() { etype = 0 }; vm.FileList = new List() { }; return EduB2B(vm); } public ActionResult EduB3(VMCourse vm) { vm.EduB2B = new EduB2B() { etype = 3 }; return EduB2B(vm); } public ActionResult EduB2B(VMCourse vm) { vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First(); if (vm.User.asno != null) { var am = Dao.Get("users.assignmans", new System.Collections.Hashtable() { { "asno", vm.User.asno.Value } }).Where(w => w.mtype == 1).FirstOrDefault(); if (am != null) { vm.User.asmanname = am.mname; vm.User.email = am.email; } } return View("EduB2B", vm); } public ActionResult OffDetailCollege(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/OffColleges"); } vm.viewname3 = "College"; vm.previewname = vm.previewname ?? "/Course/OffColleges"; return OffDetail(vm); } public ActionResult OffDetailTotal(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/OffTotals"); } vm.viewname3 = "Total"; vm.previewname = vm.previewname ?? "/Course/OffTotals"; return OffDetail(vm); } public ActionResult OffDetailSpecial(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/Course/OffSpecials"); } vm.viewname3 = "Special"; vm.previewname = vm.previewname ?? "/Course/OffSpecials"; return OffDetail(vm); } public ActionResult OffBuyCollege(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } vm.viewname3 = "College"; vm.previewname = vm.previewname ?? "/Course/OffColleges"; POffBuy(vm); return View("OffBuy", vm); } public ActionResult OffBuyTotal(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } vm.viewname3 = "Total"; vm.previewname = vm.previewname ?? "/Course/OffTotals"; POffBuy(vm); return View("OffBuy", vm); } public ActionResult OffBuySpecial(VMCourse vm) { if (vm.cmno < 1) { return Redirect("/"); } vm.viewname3 = "Special"; vm.previewname = vm.previewname ?? "/Course/OffSpecials"; POffBuy(vm); return View("OffBuy", vm); } private void POffBuy(VMCourse vm) { vm.viewname3 = vm.viewname3 ?? ""; vm.previewname = "/Course/Offs"; vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First(); vm.CMBooks = Dao.Get("cm.cmbooks", vm.cmno.ToString()); vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First(); vm.ComCodes = GetComCodes("jobposition,job", true); for (int i = vm.ComCodes.Count() - 1; i > -1; i--) { if (vm.ComCodes[i].isuse == 0 && (vm.ComCodes[i].cgroup != "jobposition" || (vm.ComCodes[i].cgroup == "jobposition" && vm.ComCodes[i].refcode != "9"))) { vm.ComCodes.RemoveAt(i); } } } public ActionResult PayOffCollege(VMPay vm) { vm.viewname3 = "College"; vm.previewname = "/Course/OffColleges"; vm.viewname4 = "https://" + Request.Url.Host + "/Course/OffCollegePayReturn"; //vm.viewname4 = GetConfig("fronturl") + "/Course/OffCollegePayReturn"; base.PayAll(vm); return PayOff(vm); } public ActionResult PayOffTotal(VMPay vm) { vm.viewname3 = "Total"; vm.previewname = vm.previewname ?? "/Course/OffTotals"; vm.viewname4 = "https://" + Request.Url.Host + "/Course/OffTotalPayReturn"; //vm.viewname4 = GetConfig("fronturl") + "/Course/OffTotalPayReturn"; base.PayAll(vm); return PayOff(vm); } public ActionResult PayOffSpecial(VMPay vm) { vm.viewname3 = "Special"; vm.previewname = vm.previewname ?? "/Course/OffSpecials"; vm.viewname4 = "https://" + Request.Url.Host + "/Course/OffDetailPayReturn"; //vm.viewname4 = GetConfig("fronturl") + "/Course/OffDetailPayReturn"; base.PayAll(vm); return PayOff(vm); } public ActionResult PayOff(VMPay vm) { if (string.IsNullOrEmpty(vm.items) && !vm.ispayexam && !(vm.ispaycert && vm.payno > 0) && !vm.ispaycart) { return Redirect("/Course/Offs"); } vm.viewname4 = vm.viewname4 ?? ("https://" + Request.Url.Host + "/Course/OffPayReturn"); //vm.viewname4 = vm.viewname4 ?? (GetConfig("fronturl") + "/Course/OffPayReturn"); vm.viewname6 = vm.viewname6 ?? (GetConfig("pginfomobile").Split('|')[0] + "/Course/OffPayReturn"); foreach (var d in vm.items.Split(';')) { var dd = d.Split(':'); if (dd[0] == "0") { vm.previewname = "/OffDetail?cmno=" + dd[1]; break; } } //vm.previewname = vm.previewname ?? "/Course/Offs"; base.PayAll(vm); return View("Pay",vm); } public ActionResult OffPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult OffCollegePayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult OffTotalPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult OffSpecialPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult PayClose(VMPay vm) { vm.pginfo = GetConfig("pginfo"); return View(vm); } public ActionResult OnPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult OnCollegePayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult OnBasePayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult CoverPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult SmartSearch(VMCourse vm) { // 2024.08.07 로그인제한 해제 //if (SUserInfo.UserNo == 0) { // return RedirectToAction(nameof(HomeController.Index), "Home"); //} vm.ComCodes = GetComCodes("studyplace"); vm.CMsEtc = Dao.Get("cm.cgetc", new System.Collections.Hashtable() { { "cgcode", "2" } });//cgcode = 기타교육 // 기타교육 cgcode 바뀌면 파라미터도 변경해야함 vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable()).First(); var hsData = SetHash(vm); if (vm.stringval == "0" || string.IsNullOrEmpty(vm.stringval)) //건설기술진흥법교육 { //hsData.Add("ismaster", 1); //hsData.Add("cshape", vm.stringval2); //hsData.Add("typeman", vm.stringval3); //hsData.Add("typeedu", vm.stringval4); //hsData.Add("typegrade", vm.stringval5); //hsData.Add("typejob", vm.stringval6); //hsData.Add("typejobitem", vm.stringval7); ////vm.CMs = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "ismaster", "1" }, { "cshape", vm.stringval2 }, { "typeman", vm.stringval3 }, { "typeedu", vm.stringval4 }, { "typegrade", vm.stringval5 }, { "typejob", vm.stringval6 }, { "typejobitem", vm.stringval7 } }).Where(w=>w.isuse == 1).ToList(); //vm.CMs = Dao.Get("cm.cms", hsData).Where(w => w.isuse == 1).ToList(); // 20220726 공개+현재수강신청가능한 강좌목록 구하기 //20220726 소스 정리 //hsData = SetHash(vm); hsData.Add("cshape", vm.stringval2); hsData.Add("typeman", vm.stringval3); hsData.Add("typeedu", vm.stringval4); hsData.Add("typegrade", vm.stringval5); hsData.Add("typejob", vm.stringval6); hsData.Add("typejobitem", vm.stringval7); hsData.Add("isuse", 1); hsData.Add("orderby", " a.pcmno, a.cname"); vm.CMs = Dao.Get("cm.subcms", hsData).ToList(); } else if (vm.stringval == "1") //기타교육 { vm.CMs = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "ismaster", "1" }, { "cshape", vm.stringval2 }, { "cgno", vm.stringval3 }, { "isuse", 1 } }).ToList(); } //hsData.Clear(); //hsData = SetHash(vm); ////hsData.Add("month", (vm.scdMonth == null) ? DateTime.Now.Month : vm.scdMonth); //vm.CMInningscds = Dao.Get("cm.cminningscds.applyedu", hsData).Where(w => w.studyplace != null).ToList(); vm.ComCodes2 = GetComCodes("typeman"); vm.ComCodes3 = GetComCodes("typeedu"); vm.ComCodes4 = GetComCodes("typegrade"); vm.ComCodes5 = GetComCodes("typejob"); vm.ComCodes6 = GetComCodes("typejobitem"); bool getComCheck = true; var typeman = vm.ComCodes2.Where(w => w.ccode == (!string.IsNullOrEmpty(vm.stringval3) ? int.Parse(vm.stringval3) : 0)).FirstOrDefault(); var typemanName = typeman != null ? typeman.cname : string.Empty; var typeedu = vm.ComCodes3.Where(w => w.ccode == (!string.IsNullOrEmpty(vm.stringval4) ? int.Parse(vm.stringval4) : 0)).FirstOrDefault(); var typeeduName = typeedu != null ? typeedu.cname : string.Empty; if (typemanName.Contains("설계시공기술인")) { vm.ComCodes3 = vm.ComCodes3.Where(x => x.cname != "안전관리계속교육(16시간)").ToList(); if (typeeduName.Contains("승급교육")) { vm.ComCodes4 = vm.ComCodes4.Where(x => x.cname != "초급").ToList(); } else if (typeeduName.Contains("계속교육")) { vm.ComCodes4 = vm.ComCodes4.Where(x => x.cname == "특급").ToList(); } vm.ComCodes5 = vm.ComCodes5.Where(x => x.cname != "품질관리").ToList(); } else if (typemanName.Contains("건설사업관리기술인")) { if (typeeduName.Contains("승급교육")) { vm.ComCodes4 = vm.ComCodes4.Where(x => x.cname != "초급").ToList(); } vm.ComCodes5 = vm.ComCodes5.Where(x => x.cname != "품질관리").ToList(); } else if (typemanName.Contains("품질관리기술인")) { vm.ComCodes3 = vm.ComCodes3.Where(x => x.cname != "안전관리계속교육(16시간)").ToList(); if (typeeduName.Contains("승급교육")) { vm.ComCodes4 = vm.ComCodes4.Where(x => x.cname != "초급").ToList(); } vm.ComCodes5 = vm.ComCodes5.Where(x => x.cname == "품질관리").ToList(); } else if (typemanName.Contains("발주청기술인")) { vm.ComCodes3 = vm.ComCodes3.Where(x => x.cname == "기본교육" || x.cname == "최초교육").ToList(); vm.ComCodes5 = vm.ComCodes5.Where(x => x.cname != "품질관리").ToList(); } else { vm.ComCodes3 = vm.ComCodes3.Where(x => x.ccode == 0).ToList(); vm.ComCodes4 = vm.ComCodes4.Where(x => x.ccode == 0).ToList(); vm.ComCodes5 = vm.ComCodes5.Where(x => x.ccode == 0).ToList(); vm.ComCodes6 = vm.ComCodes6.Where(x => x.ccode == 0).ToList(); getComCheck = false; } if (getComCheck) { vm.ComCodes6 = GetComCodes("typejob" + vm.stringval6); } return View(vm); } public ActionResult SmartSearchResult(VMCourse vm) { /* * https://www.ynicte.com/Course/SmartSearchResult?stringval=&stringval2=2&stringval3=25&stringval4=29&stringval5=36&stringval6=40&stringval7=58&stringval17=859&stringval18=33&stringval19=50085&stringval20=14795&stringval21=101 * * string rslt = ""; rslt += "stringval=" + vm.stringval; rslt += "
stringval2=" + vm.stringval2; rslt += "
stringval3=" + vm.stringval3; // man rslt += "
stringval4=" + vm.stringval4; // edu rslt += "
stringval5=" + vm.stringval5; // grade rslt += "
stringval6=" + vm.stringval6; rslt += "
stringval7=" + vm.stringval7; rslt += "
stringval17=" + vm.stringval17; // cmno rslt += "
stringval18=" + vm.stringval18; // pcmno rslt += "
stringval19=" + vm.stringval19; // cmino rslt += "
stringval20=" + vm.stringval20; // cmisno rslt += "
stringval21=" + vm.stringval21; // cgcode rslt += "
userno=" + SUserInfo.UserNo; */ ViewBag.IsMain = true; Base.Controllers.FOCommonController fOCommonController = new Base.Controllers.FOCommonController(); fOCommonController.Dao = new Dao.CommonDao(); ViewBag.rslt = fOCommonController.CheckUserLect(vm.stringval3, vm.stringval21, vm.stringval4, vm.stringval5, int.Parse(vm.stringval17), int.Parse(vm.stringval18), SUserInfo.UserNo); //vm.ComCodes = GetComCodes("studyplace"); vm.ComCodes2 = GetComCodes("typeman"); vm.ComCodes3 = GetComCodes("typeedu"); vm.ComCodes4 = GetComCodes("typegrade"); vm.ComCodes5 = GetComCodes("typejob"); vm.ComCodes6 = GetComCodes("typejob40,typejob41,typejob42,typejob43,typejob44,typejob45,typejob46,typejob47,typejob48,typejob49,typejob57"); vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.stringval17 } }).FirstOrDefault(); Hashtable hsData = new Hashtable(); hsData.Add("cmno", vm.stringval17); vm.CMInningscds= Dao.Get("cm.cminningscds.applyedu" , hsData); vm.SelectCMInningscd = vm.CMInningscds.Where(c => c.cmisno == long.Parse(vm.stringval20) && c.cmino == long.Parse(vm.stringval19)).First(); vm.intval = Dao.Get("lect.count.user4", new Hashtable { { "userno", SUserInfo.UserNo }, { "pcmno", long.Parse(vm.stringval18) } }).FirstOrDefault(); vm.intval2 = Dao.Get("cm.lectcheckuser", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "cmno", vm.stringval17 } }).First(); /* * * applyClassEdu(" + d.cmno + ", " + d.pcmno + ", " + d.cmino + ", " + d.cmisno + ");" }); * */ return View(vm); } //private string GetComCode6CodeList(IList comCodes) //{ // string result = ""; // foreach(var item in comCodes) // { // result += (result == "" ? "" : ",") + "typejob" + item.ccode; // } // return result; //} [NP.Base.Auth.CFilter] public ActionResult ApplyEdu(VMCourse vm) { //20220802 추가 long?[] lngTmp = new long?[2]; lngTmp[0] = vm.CM.cmino; lngTmp[1] = vm.CM.cmisno; vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.cmno } }).FirstOrDefault(); //20220802 추가 vm.CM.cmino = lngTmp[0]; vm.CM.cmisno = lngTmp[1]; vm.CM.applicableCM = (vm.CM.quota != 0 && vm.CM.quota - vm.CM.lectcnt <= 0) ? "대기접수" : "정상접수"; vm.CMInningscds = Dao.Get("cm.cminningscds.applyedu", new System.Collections.Hashtable() { { "cmno", vm.cmno },{"month", (vm.scdMonth == null)? DateTime.Now.Year : vm.scdMonth } }); foreach (var item in vm.CMInningscds) { item.scdInfoSummary = string.Format("[{0}] {1}",item.studyplacename, item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm")); } vm.Assign = Dao.Get("cm.assign.applyedu", new Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault(); if (vm.Assign != null) { vm.Assign.mname = null; //if (!string.IsNullOrEmpty(vm.Assign.MphoneFormat) && vm.Assign.MphoneFormat.IndexOf("-") >= 0) //{ //string[] mphoneArr = vm.Assign.MphoneFormat.Split('-'); //vm.Assign.mphone1 = mphoneArr.Length > 0 ? mphoneArr[0] : string.Empty; //vm.Assign.mphone2 = mphoneArr.Length > 1 ? mphoneArr[1] : string.Empty; //vm.Assign.mphone3 = mphoneArr.Length > 2 ? mphoneArr[2] : string.Empty; //} //if (!string.IsNullOrEmpty(vm.Assign.taxemail) && vm.Assign.taxemail.IndexOf("@") >= 0) //{ //string[] taxemailArr = vm.Assign.taxemail.Split('@'); //vm.Assign.taxemail1 = taxemailArr.Length > 0 ? taxemailArr[0] : string.Empty; //vm.Assign.taxemail2 = taxemailArr.Length > 1 ? taxemailArr[1] : string.Empty; //} vm.FileList = new List() { }; if (vm.Assign.fgnobno != null) { vm.FileList = GetFiles(vm.Assign.fgnobno.Value); } } else { vm.Assign = new Assign() { }; } #region 20220801 선택한 교육장 정보 Hashtable hsData = new Hashtable(); hsData.Add("cmno", vm.cmno); var cmInningscdTmp = Dao.Get("cm.cminningscds.applyedu", hsData).Where(w => w.cmino == lngTmp[0] && w.cmisno == lngTmp[1]); foreach (var item in cmInningscdTmp) { vm.SelectCMInningscd = item; if (vm.CM.cshape == 1) { item.scdInfoSummary = string.Format("{0} ~ {1}", item.estart.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } else { item.scdInfoSummary = string.Format("{0} ~ {1}", DateTime.Now.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } if(item.eend != null) { item.eend2 = item.eend.ToString("yyyy년 MM월 dd일"); } //vm.SelectCMInningscd.scdInfoSummary = string.Format("{0}", vm.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일까지")); if (vm.SelectCMInningscd.estart < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"))) { vm.SelectCMInningscd.isEnd = true; } } #endregion vm.User = Dao.Get("cm.user.applyedu", new Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault(); if (!string.IsNullOrEmpty(vm.User.MobileFormat) && vm.User.MobileFormat.IndexOf("-") >= 0) { string[] mobileArr = vm.User.MobileFormat.Split('-'); vm.User.mobile1 = mobileArr.Length > 0 ? mobileArr[0] : string.Empty; vm.User.mobile2 = mobileArr.Length > 1 ? mobileArr[1] : string.Empty; vm.User.mobile3 = mobileArr.Length > 2 ? mobileArr[2] : string.Empty; } if (!string.IsNullOrEmpty(vm.User.userpno)) { vm.User.userpno = vm.User.userpno.Replace("-",""); if (vm.User.userpno.Length == 13) { string userpnoString = string.Format("{0}-{1}", vm.User.userpno.Substring(0, 6), vm.User.userpno.Substring(6, 7)); string[] userpnoArr = userpnoString.Split('-'); vm.User.userpno1 = userpnoArr.Length > 0 ? userpnoArr[0] : string.Empty; vm.User.userpno2 = userpnoArr.Length > 1 ? userpnoArr[1] : string.Empty; } } if (!string.IsNullOrEmpty(vm.User.email) && vm.User.email.IndexOf("@") >= 0) { string[] emailArr = vm.User.email.Split('@'); vm.User.email1 = emailArr.Length > 0 ? emailArr[0] : string.Empty; vm.User.email2 = emailArr.Length > 1 ? emailArr[1] : string.Empty; } if (vm.pplno != 0) { vm.PPLog = Dao.Get("pay.pplogs", new Hashtable() { { "pplno", vm.pplno }, { "userno", SUserInfo.UserNo } }).FirstOrDefault(); if(vm.Assign != null) { vm.Assign.mname = vm.PPLog.mname; if (!string.IsNullOrEmpty(vm.PPLog.MphoneFormat) && vm.PPLog.MphoneFormat.IndexOf("-") >= 0) { string[] mphoneArr = vm.PPLog.MphoneFormat.Split('-'); vm.Assign.mphone1 = mphoneArr.Length > 0 ? mphoneArr[0] : string.Empty; vm.Assign.mphone2 = mphoneArr.Length > 1 ? mphoneArr[1] : string.Empty; vm.Assign.mphone3 = mphoneArr.Length > 2 ? mphoneArr[2] : string.Empty; } if (!string.IsNullOrEmpty(vm.PPLog.taxemail) && vm.PPLog.taxemail.IndexOf("@") >= 0) { string[] taxemailArr = vm.PPLog.taxemail.Split('@'); vm.Assign.taxemail1 = taxemailArr.Length > 0 ? taxemailArr[0] : string.Empty; vm.Assign.taxemail2 = taxemailArr.Length > 1 ? taxemailArr[1] : string.Empty; } } } return View(vm); } [NP.Base.Auth.CFilter] public ActionResult ApplyPay(VMCourse vm) { //20220802 추가 long?[] lngTmp = new long?[2]; lngTmp[0] = vm.CM.cmino; lngTmp[1] = vm.CM.cmisno; #region 20220801 선택한 교육장 정보 Hashtable hsData = new Hashtable(); hsData.Add("cmno", vm.cmno); var cmInningscdTmp = Dao.Get("cm.cminningscds.applyedu", hsData).Where(w => w.cmino == lngTmp[0] && w.cmisno == lngTmp[1]); foreach (var item in cmInningscdTmp) { vm.SelectCMInningscd = item; if (vm.CM.cshape == 1) { item.scdInfoSummary = string.Format("{0} ~ {1}", item.estart.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } else { item.scdInfoSummary = string.Format("{0} ~ {1}", DateTime.Now.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } if (item.eend != null) { item.eend2 = item.eend.ToString("yyyy년 MM월 dd일"); } //vm.SelectCMInningscd.scdInfoSummary = string.Format("{0}", vm.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일까지")); if (vm.SelectCMInningscd.estart < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"))) { vm.SelectCMInningscd.isEnd = true; } } #endregion if (vm.payno > 0) { //신청대기 => 승인 => 결제진입 //유효성 검증 vm.PPLog = Dao.Get("pay.pplogs.bypay", new Hashtable() { { "payno", vm.payno }, { "userno", SUserInfo.UserNo } }).FirstOrDefault(); if (vm.PPLog == null || vm.PPLog.pstatus != 21) { return Redirect("/"); } vm.pplno = vm.PPLog.pplno; vm.cmno = vm.PPLog.cmno; } else { if (vm.pplno < 1) { return Redirect("/"); } vm.PPLog = Dao.Get("pay.pplogs", new Hashtable() { { "pplno", vm.pplno }, { "userno", SUserInfo.UserNo } }).FirstOrDefault(); if (vm.PPLog == null) { return Redirect("/"); } else if (vm.PPLog.payno > 0 && vm.PPLog.pstatus > 0) { //새로고침? return RedirectPermanent("/Course/ApplyComplete?payno=" + vm.PPLog.payno); } if (vm.PPLog.isready == 1) { //대기접수로 결제 및 신청데이터 생성 var payitems = new List() { }; var uip = GetUserIP(); payitems.Add(new PayItem() { itemno = vm.PPLog.cmno, userno = SUserInfo.UserNo, status = 6, pstatus = 55, pcnt = 1, payamt = 0, isrebate = vm.PPLog.isrebate ?? 0, rbank = vm.PPLog.rbankname, rbankaccnum = vm.PPLog.rbankacc, tbankuser = vm.PPLog.rbankowner, isready = 1, cmisno = vm.PPLog.cmisno, uno = SUserInfo.UserNo, uip = uip }); //정가확인 var cms = Dao.Get("cm.cms.forpay", new Hashtable() { { "userno", SUserInfo.UserNo }, { "cmno", vm.PPLog.cmno } }); if (cms.First().lectnocheck > 0) { return RedirectPermanent("/?isalreadyreq=1"); } var pi = payitems.First(); pi.orgamt = vm.PPLog.isaccommodation == 1 ? cms.Where(w => w.cmno == pi.itemno).First().fee + cms.Where(w => w.cmno == pi.itemno).First().accommofee : cms.Where(w => w.cmno == pi.itemno).First().fee; var pay = new Pay() { pplno = vm.pplno, ispg = 1, ptype = 0, userno = SUserInfo.UserNo, username = SUserInfo.UserName, pstatus = 55, rstatus = 0, refunding = 0, orgamt = vm.PPLog.isaccommodation == 1? cms.Sum(s => s.fee) + cms.Sum(s=>s.accommofee) : cms.Sum(s=>s.fee), //isinmoney = 1, payamt = payitems.Sum(s => s.payamt),//어차피 0 아닌지..? PIs = payitems, cmnos = string.Join(",", payitems.Select(s => s.itemno)), uno = SUserInfo.UserNo, uip = GetUserIP() }; Dao.SavePay(pay, true); if (pay.payno > 0) { return RedirectPermanent("/Course/ApplyComplete?payno=" + pay.payno); } return Redirect("/"); } } vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.PPLog.cmno } }).First(); vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First(); vm.viewname4 = "/Course/OnPayReturn"; //20220802 추가 vm.CM.cmino = lngTmp[0]; vm.CM.cmisno = lngTmp[1]; return View(vm); } [NP.Base.Auth.CFilter] public ActionResult ApplyAgree(VMCourse vm) { //20220802 추가 long?[] lngTmp = new long?[2]; lngTmp[0] = vm.CM.cmino; lngTmp[1] = vm.CM.cmisno; if (vm.pplno < 1) { return Redirect("/"); } vm.PPLog = Dao.Get("pay.pplogs", new Hashtable() { { "pplno", vm.pplno }, { "userno", SUserInfo.UserNo } }).FirstOrDefault(); if (vm.PPLog == null) { return Redirect("/"); } else if (vm.PPLog.payno > 0 && vm.PPLog.pstatus > 0) { //새로고침? return RedirectPermanent("/Course/ApplyComplete?payno=" + vm.PPLog.payno); } vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.PPLog.cmno } }).First(); vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First(); vm.ComCodes = GetComCodes("typeman,typejob,studyplace,typejob40,typejob41,typejob42,typejob43,typejob44,typejob45,typejob46,typejob47,typejob48,typejob49,typejob57"); vm.ComCodes2 = GetComCodes("typeman"); vm.ComCodes3 = GetComCodes("typeedu"); vm.ComCodes4 = GetComCodes("typegrade"); //20220802 추가 vm.CM.cmino = lngTmp[0]; vm.CM.cmisno = lngTmp[1]; #region 20220801 선택한 교육장 정보 Hashtable hsData = new Hashtable(); hsData.Add("cmno", vm.cmno); var cmInningscdTmp = Dao.Get("cm.cminningscds.applyedu", hsData).Where(w => w.cmino == lngTmp[0] && w.cmisno == lngTmp[1]); foreach (var item in cmInningscdTmp) { vm.SelectCMInningscd = item; if (vm.CM.cshape == 1) { item.scdInfoSummary = string.Format("{0} ~ {1}", item.estart.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } else { item.scdInfoSummary = string.Format("{0} ~ {1}", DateTime.Now.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } if (item.eend != null) { item.eend2 = item.eend.ToString("yyyy년 MM월 dd일"); } //vm.SelectCMInningscd.scdInfoSummary = string.Format("{0}", vm.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일까지")); if (vm.SelectCMInningscd.estart < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"))) { vm.SelectCMInningscd.isEnd = true; } } #endregion return View(vm); } public ActionResult ApplyComplete(VMPay vm) { if (vm.payno < 1) { return Redirect("/"); } //20220802 추가 long?[] lngTmp = new long?[2]; lngTmp[0] = vm.CM.cmino; lngTmp[1] = vm.CM.cmisno; vm.PayItem = Dao.Get("pay.payresult", new Hashtable() { { "payno", vm.payno }, { "userno", SUserInfo.UserNo } }).First(); vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.PayItem.itemno } }).FirstOrDefault(); vm.Pay = Dao.Get("pay.pay", new System.Collections.Hashtable() { { "payno", vm.payno }, { "userno", SUserInfo.UserNo } }).FirstOrDefault(); if (vm.Pay.isready == 1) { vm.Pay.ccount = Dao.Get("pay.lectready", vm.CM.cmno).FirstOrDefault() ?? 1; } vm.Pay.payresult = "1:결제완료"; //20220802 추가 vm.CM.cmino = lngTmp[0]; vm.CM.cmisno = lngTmp[1]; #region 20220801 선택한 교육장 정보 Hashtable hsData = new Hashtable(); hsData.Add("cmno", vm.cmno); var cmInningscdTmp = Dao.Get("cm.cminningscds.applyedu", hsData).Where(w => w.cmino == lngTmp[0] && w.cmisno == lngTmp[1]); foreach (var item in cmInningscdTmp) { vm.SelectCMInningscd = item; if (vm.CM.cshape == 1) { item.scdInfoSummary = string.Format("{0} ~ {1}", item.estart.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } else { item.scdInfoSummary = string.Format("{0} ~ {1}", DateTime.Now.ToString("yyyy년 MM월 dd일"), item.eend.ToString("MM월 dd일")); } if (item.eend != null) { item.eend2 = item.eend.ToString("yyyy년 MM월 dd일"); } //vm.SelectCMInningscd.scdInfoSummary = string.Format("{0}", vm.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일까지")); if (vm.SelectCMInningscd.estart < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"))) { vm.SelectCMInningscd.isEnd = true; } } #endregion return View(vm); } public ActionResult XpayREQ(VMPay vm) { ViewBag.ismain = true; string configPath = GetConfig("lgdacomConfigPath"); string CST_PLATFORM = GetConfig("CST_PLATFORM"); string CST_MID = GetConfig("CST_MID"); string LGD_MID = (("test".Equals(CST_PLATFORM.Trim())) ? "t" : "") + CST_MID; string LGD_TIMESTAMP = ""; string LGD_HASHDATA = ""; string LGD_OID = Request["LGD_OID"]; string LGD_AMOUNT = Request["LGD_AMOUNT"]; long?[] lngTmp = new long?[2]; lngTmp[0] = vm.CM.cmino; lngTmp[1] = vm.CM.cmisno; vm.payParams = new Hashtable(); vm.payParams.Add("CST_PLATFORM", CST_PLATFORM); vm.payParams.Add("CST_MID", CST_MID); vm.payParams.Add("LGD_MID", LGD_MID); vm.payParams.Add("LGD_OID", LGD_OID); vm.payParams.Add("LGD_BUYER", Request["LGD_BUYER"]); vm.payParams.Add("LGD_PRODUCTINFO", Request["LGD_PRODUCTINFO"]); vm.payParams.Add("LGD_AMOUNT", LGD_AMOUNT); vm.payParams.Add("LGD_BUYEREMAIL", Request["LGD_BUYEREMAIL"]); vm.payParams.Add("LGD_RETURNURL", "https://" + Request.Url.Host + "/Course/XpayReturnURL"); //vm.payParams.Add("LGD_RETURNURL", (GetConfig("fronturl") + "/Course/XpayReturnURL")); vm.payParams.Add("LGD_ENCODING", GetConfig("LGD_ENCODING")); vm.payParams.Add("LGD_ENCODING_NOTEURL", GetConfig("LGD_ENCODING")); vm.payParams.Add("LGD_ENCODING_RETURNURL", GetConfig("LGD_ENCODING")); vm.payParams.Add("LGD_BACKBTN_YN", GetConfig("LGD_BACKBTN_YN")); vm.payParams.Add("LGD_CASNOTEURL", GetConfig("LGD_CASNOTEURL")); vm.payParams.Add("LGD_AUTOFILLYN_BUYER", GetConfig("LGD_AUTOFILLYN_BUYER")); vm.payParams.Add("LGD_ESCROW_USEYN", GetConfig("LGD_ESCROW_USEYN")); vm.payParams.Add("LGD_DOMAIN_URL", "xpayvvip"); vm.payParams.Add("LGD_CUSTOM_PROCESSTYPE", "TWOTR"); //vm.payParams.Add("LGD_CASHRECEIPTYN", GetConfig("LGD_CASHRECEIPTYN")); vm.payParams.Add("LGD_CASHRECEIPTYN", "N"); if (Request["ptype"] == "3") { if (Request["iscashrct"] == "1") { vm.payParams["LGD_CASHRECEIPTYN"] = "Y"; vm.payParams.Add("LGD_DEFAULTCASHRECEIPTUSE", "1"); vm.payParams.Add("LGD_CASHRECEIPTUSE", "1"); vm.payParams.Add("LGD_CASHRECEIPTNUM", "1"); vm.payParams.Add("LGD_CASHCARDNUM", Request["cashrcthp"]); } vm.payParams.Add("LGD_CLOSEDATE", Request["LGD_CLOSEDATE"]); } String OSTYPE = Request["LGD_OSTYPE_CHECK"]; vm.payParams.Add("LGD_OSTYPE_CHECK", OSTYPE); vm.payParams.Add("LGD_CUSTOM_SWITCHINGTYPE", Request["LGD_CUSTOM_SWITCHINGTYPE"]); vm.payParams.Add("LGD_VERSION", Request["LGD_VERSION"]); vm.payParams.Add("LGD_CUSTOM_SKIN", Request["LGD_CUSTOM_SKIN"]); if (OSTYPE == "P") { vm.payParams.Add("LGD_WINDOW_TYPE", Request["LGD_WINDOW_TYPE"]); vm.payParams.Add("LGD_CUSTOM_USABLEPAY", Request["LGD_CUSTOM_USABLEPAY"]); } else if (OSTYPE == "M") { vm.payParams.Add("CST_WINDOW_TYPE", Request["CST_WINDOW_TYPE"]); vm.payParams.Add("LGD_PCVIEWYN", Request["LGD_PCVIEWYN"]); vm.payParams.Add("LGD_CUSTOM_FIRSTPAY", Request["LGD_CUSTOM_FIRSTPAY"]); //iOS 연동시 필수 vm.payParams.Add("LGD_MPILOTTEAPPCARDWAPURL", ""); //iOS 롯데앱카드 스키마 등록 /* **************************************************** * 신용카드 ISP(국민/BC)결제에만 적용 - BEGIN **************************************************** */ vm.payParams.Add("LGD_KVPMISPWAPURL", ""); vm.payParams.Add("LGD_KVPMISPCANCELURL", ""); /* **************************************************** * 신용카드 ISP(국민/BC)결제에만 적용 - END **************************************************** */ /* **************************************************** * 계좌이체 결제에만 적용 - BEGIN **************************************************** */ vm.payParams.Add("LGD_MTRANSFERWAPURL", ""); vm.payParams.Add("LGD_MTRANSFERCANCELURL", ""); /* **************************************************** * 계좌이체 결제에만 적용 - END **************************************************** */ /* **************************************************** * 모바일 OS별 ISP(국민/비씨), 계좌이체 결제 구분 값 **************************************************** - 안드로이드: A (디폴트) - iOS: N - iOS일 경우, 반드시 N으로 값을 수정 */ vm.payParams.Add("LGD_KVPMISPAUTOAPPYN", Request["LGD_KVPMISPAUTOAPPYN"]); vm.payParams.Add("LGD_MTRANSFERAUTOAPPYN", Request["LGD_MTRANSFERAUTOAPPYN"]); } // (1) XpayClient의 사용을 위한 xpay 객체 생성 XPayClient xpay = new XPayClient(); // (2) Init: XPayClient 초기화(환경설정 파일 로드) // configPath: 설정파일 // CST_PLATFORM: - test, service 값에 따라 lgdacom.conf의 test_url(test) 또는 url(srvice) 사용 // - test, service 값에 따라 테스트용 또는 서비스용 아이디 생성 xpay.Init(configPath, CST_PLATFORM); /* ************************************************* * 2. MD5 해쉬암호화 (수정하지 마세요) - BEGIN * * MD5 해쉬암호화는 거래 위변조를 막기위한 방법입니다. ************************************************* */ try { // (3) Init_TX: 메모리에 mall.conf, lgdacom.conf 할당 및 트랜잭션의 고유한 키 TXID 생성 xpay.Init_TX(LGD_MID); LGD_TIMESTAMP = xpay.GetTimeStamp(); LGD_HASHDATA = xpay.GetHashData(LGD_MID, LGD_OID, LGD_AMOUNT, LGD_TIMESTAMP); } catch (Exception err) { //LGD_HASHDATA 추출 오류 SetError(err.Message); return null; } /* ************************************************* * 2. MD5 해쉬암호화 (수정하지 마세요) - END ************************************************* */ vm.payParams.Add("LGD_TIMESTAMP", LGD_TIMESTAMP); vm.payParams.Add("LGD_HASHDATA", LGD_HASHDATA); //수정 불가 ( 인증 후 자동 셋팅 ) vm.payParams.Add("LGD_RESPCODE", ""); vm.payParams.Add("LGD_RESPMSG", ""); vm.payParams.Add("LGD_PAYKEY", ""); //nptech 추가 파라미터 vm.payParams.Add("items", Request["items"]); vm.payParams.Add("pplno", Request["pplno"]); vm.payParams.Add("rsMsg", ""); vm.payParams.Add("cmno", Request["cmno"]); vm.payParams.Add("cmino", Request["CM.cmino"]); vm.payParams.Add("cmisno", Request["CM.cmisno"]); vm.payParams.Add("stringval", Request["stringval"]); vm.payParams.Add("stringval2", Request["stringval2"]); vm.payParams.Add("stringval3", Request["stringval3"]); vm.payParams.Add("stringval4", Request["stringval4"]); vm.payParams.Add("stringval5", Request["stringval5"]); vm.payParams.Add("stringval6", Request["stringval6"]); vm.payParams.Add("selMonth", Request["selMonth"]); vm.payParams.Add("isCompany", Request["isCompany"]); Session.Add("PAYREQ_MAP", vm.payParams); //20220802 추가 vm.CM.cmino = lngTmp[0]; vm.CM.cmisno = lngTmp[1]; return View(vm); } public ActionResult XpayReturnURL(VMPay vm) { ViewBag.ismain = true; String LGD_RESPCODE = Request["LGD_RESPCODE"]; String LGD_RESPMSG = Request["LGD_RESPMSG"]; //S053 사용자가 결제를 취소했습니다. vm.payParams = new Hashtable(); vm.payParams = (Hashtable)Session["PAYREQ_MAP"]; vm.payParams.Remove("LGD_RESPCODE"); vm.payParams.Remove("LGD_RESPMSG"); vm.payParams.Add("LGD_RESPCODE", LGD_RESPCODE); vm.payParams.Add("LGD_RESPMSG", LGD_RESPMSG); if (LGD_RESPCODE == "0000") { vm.payParams.Remove("LGD_PAYKEY"); vm.payParams.Add("LGD_PAYKEY", Request["LGD_PAYKEY"]); } else { vm.payParams.Remove("rsMsg"); vm.payParams.Add("rsMsg", "[" + LGD_RESPCODE + "]" + LGD_RESPMSG); SetError("[" + LGD_RESPCODE + "]" + LGD_RESPMSG); } return View(vm); } #region 교육과정소개 /// /// 교육과정소개 /// /// /// public ActionResult Info(VMCourse vm) { var courseInfos = new List(); courseInfos.Add(new CourseInfo() { CourseType = CourseType.건설기술인_기본교육, CourseDescription = "건설기술인 기본교육 정보" }); courseInfos.Add(new CourseInfo() { CourseType = CourseType.건설사업관리기술인교육, CourseDescription = "건설사업관리기술인교육 정보" }); courseInfos.Add(new CourseInfo() { CourseType = CourseType.품질관리기술인교육, CourseDescription = "품질관리기술인교육 정보" }); courseInfos.Add(new CourseInfo() { CourseType = CourseType.설계시공기술인교육, CourseDescription = "설계시공기술인교육 정보" }); courseInfos.Add(new CourseInfo() { CourseType = CourseType.건설정책역량강화교육, CourseDescription = "건설정책역량강화교육 정보" }); courseInfos.Add(new CourseInfo() { CourseType = CourseType.전문분야교육, CourseDescription = "전문분야교육 정보" }); courseInfos.Add(new CourseInfo() { CourseType = CourseType.특성화전문교육, CourseDescription = "특성화전문교육 정보" }); foreach (var courseInfo in courseInfos) { courseInfo.CourseInfos = new List(); switch (courseInfo.CourseType) { case CourseType.건설기술인_기본교육: { courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 기본교육2(기본교육)", cmno = 1004 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 기본교육(기본교육)", cmno = 859 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 기본교육(기본교육)", cmno = 818 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 기본교육(기본교육)", cmno = 955 }); } break; case CourseType.건설사업관리기술인교육: { courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문D1-4교육(직무분야 교육)", cmno = 1057 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문D1-3교육(직무분야 교육)", cmno = 1028 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 필수계속B3 교육", cmno = 1006 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 필수계속B2 교육", cmno = 995 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 필수계속A3 교육", cmno = 993 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문D1-2교육(직무분야 교육)", cmno = 991 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 필수계속A2 교육", cmno = 989 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 필수계속C1 교육", cmno = 987 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 필수계속B1 교육", cmno = 985 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 필수계속A1 교육", cmno = 984 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문D1-1교육(직무분야 교육)", cmno = 978 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-4교육(직무분야 교육)", cmno = 837 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-3교육(직무분야 교육)", cmno = 836 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-2교육(직무분야 교육)", cmno = 835 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-1교육(직무분야 교육)", cmno = 834 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-4교육(직무분야 교육)", cmno = 887 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-3교육(직무분야 교육)", cmno = 886 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-2교육(직무분야 교육)", cmno = 885 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문C1-1교육(직무분야 교육)", cmno = 884 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리기술인 안전관리 계속교육(직무분야 교육)", cmno = 945 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-4교육(직무분야 교육)", cmno = 940 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리기술인 안전관리 계속교육(직무분야 교육)", cmno = 938 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리기술인 안전관리 계속교육(직무분야 교육)", cmno = 875 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-4교육(직무분야 교육)", cmno = 832 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-3교육(직무분야 교육)", cmno = 831 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-2교육(직무분야 교육)", cmno = 830 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-1교육(직무분야 교육)", cmno = 829 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-3교육(직무분야 교육)", cmno = 933 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-2교육(직무분야 교육)", cmno = 932 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-1교육(직무분야 교육)", cmno = 833 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-3교육(직무분야 교육)", cmno = 882 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-1교육(직무분야 교육)", cmno = 880 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-3교육(직무분야 교육)", cmno = 878 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-1교육(직무분야 교육)", cmno = 876 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-2교육(직무분야 교육)", cmno = 877 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문A1-4교육(직무분야 교육)", cmno = 879 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-2교육(직무분야 교육)", cmno = 881 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리 전문B1-4교육(직무분야 교육)", cmno = 883 }); } break; case CourseType.품질관리기술인교육: { courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 전문교육(특급)", cmno = 1054 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 기본교육", cmno = 872 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설사업관리기술인교육", cmno = 1052 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리기술인교육", cmno = 1050 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공기술인교육", cmno = 1048 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설정책역량강화교육", cmno = 1046 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "전문분야교육", cmno = 870 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "특성화전문교육", cmno = 869 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 초급 전문교육(직무분야 교육)", cmno = 868 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 최초 전문교육(직무분야 교육)", cmno = 867 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 특급 전문교육(직무분야 교육)", cmno = 937 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 초급 전문교육(직무분야 교육)", cmno = 934 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 중급 전문교육(직무분야 교육)", cmno = 827 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 고급 전문교육(직무분야 교육)", cmno = 828 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "품질관리 최초 전문교육(직무분야 교육)", cmno = 822 }); } break; case CourseType.설계시공기술인교육: { courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공기술인 최초 전문E교육(직무분야 교육)", cmno = 1026 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문D교육(직무분야 교육)", cmno = 826 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문D교육(직무분야 교육)", cmno = 866 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "발주청기술인 최초 전문교육(건설기술 분야 교육)", cmno = 907 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문B교육(직무분야 교육)", cmno = 824 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문A교육(직무분야 교육)", cmno = 823 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문C교육(직무분야 교육)", cmno = 825 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문C교육(직무분야 교육)", cmno = 865 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "발주청기술인 최초 전문교육(건설기술 분야 교육)", cmno = 860 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문A교육(직무분야 교육)", cmno = 861 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 최초 전문B교육(직무분야 교육)", cmno = 862 }); } break; case CourseType.건설정책역량강화교육: { courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트건설 전문[스마트 기술 건설현장 적용]교육(스마트건설기술교육)", cmno = 1044 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트건설 전문[스마트건설 정보화]교육(스마트건설기술교육)", cmno = 1014 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트 건설기술 전문2교육(스마트건설기술교육)", cmno = 954 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트 건설기술 전문2교육(스마트건설기술교육)", cmno = 857 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트건설전문[스마트공간정보활용]교육과정(스마트건설기술교육)", cmno = 1002 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트 건설기술 전문교육1(스마트건설기술교육)", cmno = 873 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트건설 전문[스마트건설 정보화]교육(스마트건설기술교육)", cmno = 963 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트건설 전문[스마트 기술 건설현장 적용]교육(스마트건설기술교육)", cmno = 961 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "스마트 건설기술 전문1교육(스마트건설기술교육)", cmno = 820 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "해외건설 프로젝트관리 전문교육(해외시장진출지원교육)", cmno = 874 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "해외건설 계약 및 클레임 전문교육(해외시장진출지원교육)", cmno = 947 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "해외건설 공정관리 전문교육(해외시장진출지원교육)", cmno = 944 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "해외건설 프로젝트관리 전문교육(해외시장진출지원교육)", cmno = 935 }); } break; case CourseType.전문분야교육: { courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문C2교육(심화수준)(전문분야교육)", cmno = 1013 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문C1교육(심화수준)(전문분야교육)", cmno = 1010 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B3교육(심화수준)(전문분야교육)", cmno = 1040 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B3교육(일반수준)(전문분야교육)", cmno = 1038 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A4교육(심화수준)(전문분야교육)", cmno = 1036 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A4교육(일반수준)(전문분야교육)", cmno = 1034 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A3교육(심화수준)(전문분야교육)", cmno = 1032 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B2교육(일반수준)(전문분야교육)", cmno = 1021 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문D1교육(심화수준)(전문분야교육)", cmno = 1024 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B2교육(심화수준)(전문분야교육)", cmno = 1022 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A2교육(심화수준)(전문분야교육)", cmno = 1020 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A5교육(심화수준)(전문분야교육)", cmno = 1017 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A2교육(일반수준)(전문분야교육)", cmno = 1019 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A5교육(일반수준)(전문분야교육)", cmno = 1016 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A3교육(일반수준)(전문분야교육)", cmno = 1015 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문G1교육(심화수준)(전문분야교육)", cmno = 1018 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B1교육(심화수준)(전문분야교육)", cmno = 1009 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B1교육(일반수준)(전문분야교육)", cmno = 1008 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A1교육(일반수준)(전문분야교육)", cmno = 979 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A1교육(심화수준)(전문분야교육)", cmno = 1007 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A1교육(일반수준)(전문분야교육)", cmno = 839 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 전문K1교육(심화수준)(전문분야교육)", cmno = 999 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "설계시공 전문A5교육(심화수준)(전문분야교육)", cmno = 997 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A3교육(일반수준)(전문분야교육)", cmno = 847 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문D1교육(일반수준)(전문분야교육)", cmno = 851 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A2교육(일반수준)(전문분야교육)", cmno = 843 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A4교육(일반수준)(전문분야교육)", cmno = 891 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A4교육(심화수준)(전문분야교육)", cmno = 893 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문J1교육(심화수준)(전문분야교육)", cmno = 897 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B1교육(심화수준)(전문분야교육)", cmno = 901 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B2교육(심화수준)(전문분야교육)", cmno = 905 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문E1교육(일반수준)(전문분야교육)", cmno = 909 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문E1교육(심화수준)(전문분야교육)", cmno = 911 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문F1교육(일반수준)(전문분야교육)", cmno = 913 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문F1교육(심화수준)(전문분야교육)", cmno = 915 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문F2교육(일반수준)(전문분야교육)", cmno = 917 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문C1교육(일반수준)(전문분야교육)", cmno = 921 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문F2교육(심화수준)(전문분야교육)", cmno = 919 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문G1교육(일반수준)(전문분야교육)", cmno = 925 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문G1교육(심화수준)(전문분야교육)", cmno = 927 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문H1교육(일반수준)(전문분야교육)", cmno = 929 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문H1교육(심화수준)(전문분야교육)", cmno = 931 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A1교육(심화수준)(전문분야교육)", cmno = 841 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문J1교육(일반수준)(전문분야교육)", cmno = 895 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A2교육(심화수준)(전문분야교육)", cmno = 845 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A3교육(심화수준)(전문분야교육)", cmno = 849 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문C1교육(심화수준)(전문분야교육)", cmno = 923 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B1교육(일반수준)(전문분야교육)", cmno = 899 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B2교육(일반수준)(전문분야교육)", cmno = 903 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문D1교육(심화수준)(전문분야교육)", cmno = 853 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문B3교육(일반수준)(전문분야교육)", cmno = 974 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문C2교육(심화수준)(전문분야교육)", cmno = 976 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "건설기술인 전문A5교육(일반수준)(전문분야교육)", cmno = 975 }); } break; case CourseType.특성화전문교육: { courseInfo.CourseInfos.Add(new CourseInfo() { cname = "토질·지질 특성화 과정(특성화 전문교육)", cmno = 855 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "토질·지질 특성화 과정(특성화 전문교육)", cmno = 952 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "VE전문 교육(특성화 전문교육)", cmno = 888 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "VE전문 교육(특성화 전문교육)", cmno = 941 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "안전관리 전문 교육(특성화 전문교육)", cmno = 950 }); courseInfo.CourseInfos.Add(new CourseInfo() { cname = "안전관리 전문 교육(특성화 전문교육)", cmno = 951 }); } break; default: break; } foreach (var courseInfoSub in courseInfo.CourseInfos) { courseInfoSub.CourseType = courseInfo.CourseType; courseInfoSub.CourseDescription = courseInfo.CourseDescription; } } vm.courseInfos = courseInfos; if (vm.cmno > 0) { vm.CM = Dao.Get("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).FirstOrDefault(); } return View(vm); } #endregion } }