YNICTE/FO/Controllers/CourseController.cs

1754 lines
97 KiB
C#

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<Book>("cm.books", new System.Collections.Hashtable() { { "bkno", vm.bkno } }).First();
return View(vm);
}
public ActionResult Book(int bkno)
{
var b = Dao.Get<Book>("cm.books", new System.Collections.Hashtable() { { "bkno", bkno }, { "isdetail", 1 } }).FirstOrDefault();
if (b == null)
{
return Redirect("/Course/Books");
}
b.Files = new List<File>() { };
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<Book>("cm.books", ht);
vm.pagetotalcount = GetCount(vm.Books.FirstOrDefault());
return View(vm);
}
public ActionResult Exam(VMCourse vm)
{
vm.Exam = Dao.Get<Exam>("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<File>();
if (vm.Exam.fgno != null) {
vm.FileList = GetFiles(vm.Exam.fgno.Value);
}
return View(vm);
}
public ActionResult Exams()
{
return View(Dao.Get<Exam>("exam.exams", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo },{"isopen",1 } }));
}
public ActionResult CertPayReturn(VMPay vm)
{
return View(Dao.Get<Lect>("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>("cm.cms.forbuy", hsData).First();
//vm.CM = Dao.Get<CM>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First();
vm.CMEV = Dao.Get<CMEV>("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.CMPRs = Dao.Get<CMPR>("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>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.User = Dao.Get<Users>("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>("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<Book>("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>("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<Book>("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>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First();
vm.CMEV = Dao.Get<CMEV>("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.CMPRs = Dao.Get<CMPR>("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>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.User = Dao.Get<Users>("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>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.User = Dao.Get<Users>("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>("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>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First();
vm.CMEV = Dao.Get<CMEV>("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.CMPRs = Dao.Get<CMPR>("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>("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<CMEV>("cm.cmev", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.CMPRs = Dao.Get<CMPR>("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>("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<Book>("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>("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<Book>("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>("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<Book>("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>("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>("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<Book>("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>("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<Book>("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>("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<Book>("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>("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<Book>("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<File>() { };
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.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).First();
if (vm.User.asno != null)
{
var am = Dao.Get<AssignMan>("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>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).First();
vm.CMBooks = Dao.Get<Book>("cm.cmbooks", vm.cmno.ToString());
vm.User = Dao.Get<Users>("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>("cm.cgetc", new System.Collections.Hashtable() { { "cgcode", "2" } });//cgcode = 기타교육 // 기타교육 cgcode 바뀌면 파라미터도 변경해야함
vm.CM = Dao.Get<CM>("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>("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>("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>("cm.subcms", hsData).ToList();
}
else if (vm.stringval == "1") //기타교육
{
vm.CMs = Dao.Get<CM>("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<CMinningscd>("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 += "<br>stringval2=" + vm.stringval2;
rslt += "<br>stringval3=" + vm.stringval3; // man
rslt += "<br>stringval4=" + vm.stringval4; // edu
rslt += "<br>stringval5=" + vm.stringval5; // grade
rslt += "<br>stringval6=" + vm.stringval6;
rslt += "<br>stringval7=" + vm.stringval7;
rslt += "<br>stringval17=" + vm.stringval17; // cmno
rslt += "<br>stringval18=" + vm.stringval18; // pcmno
rslt += "<br>stringval19=" + vm.stringval19; // cmino
rslt += "<br>stringval20=" + vm.stringval20; // cmisno
rslt += "<br>stringval21=" + vm.stringval21; // cgcode
rslt += "<br>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>("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.stringval17 } }).FirstOrDefault();
Hashtable hsData = new Hashtable();
hsData.Add("cmno", vm.stringval17);
vm.CMInningscds= Dao.Get<CMinningscd>("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<int>("lect.count.user4", new Hashtable { { "userno", SUserInfo.UserNo }, { "pcmno", long.Parse(vm.stringval18) } }).FirstOrDefault();
vm.intval2 = Dao.Get<int>("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<ComCode> 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>("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<CMinningscd>("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<Assign>("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<File>() { };
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<CMinningscd>("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<Users>("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<PPLog>("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<CMinningscd>("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<PPLog>("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<PPLog>("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<PayItem>() { };
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>("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>("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.PPLog.cmno } }).First();
vm.User = Dao.Get<Users>("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<PPLog>("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>("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.PPLog.cmno } }).First();
vm.User = Dao.Get<Users>("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<CMinningscd>("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<PayItem>("pay.payresult", new Hashtable() { { "payno", vm.payno }, { "userno", SUserInfo.UserNo } }).First();
vm.CM = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.PayItem.itemno } }).FirstOrDefault();
vm.Pay = Dao.Get<Pay>("pay.pay", new System.Collections.Hashtable() { { "payno", vm.payno }, { "userno", SUserInfo.UserNo } }).FirstOrDefault();
if (vm.Pay.isready == 1)
{
vm.Pay.ccount = Dao.Get<int?>("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<CMinningscd>("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
/// <summary>
/// 교육과정소개
/// </summary>
/// <param name="vm"></param>
/// <returns></returns>
public ActionResult Info(VMCourse vm)
{
var courseInfos = new List<CourseInfo>();
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<CourseInfo>();
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>("cm.cms.forbuy", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "userno", SUserInfo.UserNo }, { "contents", vm.Contents } }).FirstOrDefault();
}
return View(vm);
}
#endregion
}
}