using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NP.Model; using NP.Base; using System.Web.Routing; namespace NP.FO.Controllers { public class MyController : FOAuthBaseController { protected override void OnActionExecuted(ActionExecutedContext filterContext) { ViewBag.mypageleftmenutoggle = CookieGet("mypageleftmenutoggle", ""); ViewBag.Banners = GetBANNER; ViewBag.ismain = false; var sd = Request.Url.Host.Split('.')[0]; if (GetConfig("isdevtest") != "1" && Request.Url.Host != "222.122.63.91" && Request.Url.Host != "ynicte.nptc.kr" && Request.Url.Host != "phd.nptc.kr" && MainSubDomain.ToUpper() != sd.ToUpper()) { ViewBag.Assign = Dao.Get("users.assignsite", new System.Collections.Hashtable() { { "subdomain", sd } }).First(); ViewBag.Files = (new NP.Model.VMBase()).Files; ViewBag.SiteTitle = ViewBag.Assign.asname; } else { ViewBag.ismain = true; } } public ActionResult Index(VMMy vm) { ViewBag.mpgContclass = ""; vm.Assign = Dao.Get("users.users.assign", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault(); //신청중,수강중,나의할일,나의알림 vm.Datas = Dao.Get("lect.mydata", SUserInfo.UserNo); var sd = Request.Url.Host.Split('.')[0]; if (GetConfig("isdevtest") != "" && Request.Url.Host != "ynicte.nptc.kr" && Request.Url.Host != "222.122.63.91" && MainSubDomain.ToUpper() != sd.ToUpper()) { vm.Boards = Dao.Get("board.bs.forassign", new System.Collections.Hashtable() { { "subdomain", sd }, { "limit", 2 },{ "isdefault",3} }); } vm.CMs = new List() { }; if (vm.Datas.Where(w=>w.dtype == 1).Count() < 1 && Request.Url.Host != "222.122.63.91" && Request.Url.Host.Split('.')[0].ToUpper() == MainSubDomain.ToUpper()) { //신청중인강좌 없고 고객사사이트가 아니면 수강완료한 강좌 중 후행과정 -> 선행과정 -> 직급추천과정 2개 출력 vm.CMs = Dao.Get("lect.myrecomm", SUserInfo.UserNo); } return View(vm); } public ActionResult BoardList(VMCC vm) { vm.BM = Dao.Get("board.bms.forassign", new System.Collections.Hashtable() { { "subdomain", Request.Url.Host.Split('.')[0] }, {"isdefault", 3 } }).First(); if (vm.BM.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.BM.bmno); } vm.pagerowcount = vm.pagerowcount < 1 ? 10 : vm.pagerowcount; var ht = SetHash(vm); ht.Add("bmno", vm.BM.bmno); ht.Add("isopen", 1); ht.Add("opno", vm.opno); ht.Add("getcontents", 1); ht.Add("scc", vm.scc); vm.Boards = Dao.Get("board.bs", ht); vm.pagetotalcount = GetCount(vm.Boards.FirstOrDefault()); vm.pageviewcount = vm.Boards.Count(); return View(vm); } public ActionResult BoardView(VMCC vm) { vm.Board = Dao.Get("board.bs", new System.Collections.Hashtable() { { "bno", vm.BNo }, { "getcontents", 1 } }).First(); if (vm.Board.issecr == 1 && vm.Board.cno != SUserInfo.UserNo) { return Redirect("/"); } vm.FileList = new List() { }; if (vm.Board.fgno != null) { vm.FileList = GetFiles(vm.Board.fgno.Value); } //보기,쓰기 페이지번호 가져오기 if (!string.IsNullOrEmpty(ViewBag.MenuPage.imagecode)) { vm.boardpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[0]).FirstOrDefault() ?? new MenuPage()).pno; vm.boardwpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[1]).FirstOrDefault() ?? new MenuPage()).pno; } if (vm.Board.isreply == 1) { vm.BoardCMTs = Dao.Get("board.boardcmts", vm.Board.bno); } return View(vm); } public ActionResult BoardWrite(VMCC vm) { if (SUserInfo.UserNo < 1) { return Redirect("/Account/Index?ru=" + Request.Url.PathAndQuery); } vm.BMOs = new List() { }; vm.Board = new Board() { pbno = vm.PBNo }; if (vm.BNo > 0) { vm.Board = Dao.Get("board.bs", new System.Collections.Hashtable() { { "bno", vm.BNo }, { "getcontents", 1 } }).First(); if (vm.Board.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.Board.bmno); } } else { if ((vm.PBNo ?? 0) > 0) { vm.Board.psubject = Dao.Get("board.bs", new System.Collections.Hashtable() { { "bno", vm.PBNo } }).First().subject; } vm.BM = Dao.Get("board.bms", new System.Collections.Hashtable() { { "bmno", ViewBag.MenuPage.bmno } }).First(); vm.Board.isreply = vm.BM.isreply; vm.Board.isuseopening = vm.BM.isuseopening; vm.Board.bmno = vm.BM.bmno; if (vm.BM.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.BM.bmno); } } if (vm.Board.issecr == 1 && vm.Board.cno != SUserInfo.UserNo) { return Redirect("/"); } vm.FileList = new List() { }; if (vm.Board.fgno != null) { vm.FileList = GetFiles(vm.Board.fgno.Value); } //보기,쓰기 페이지번호 가져오기 if (!string.IsNullOrEmpty(ViewBag.MenuPage.imagecode)) { vm.boardpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[0]).FirstOrDefault() ?? new MenuPage()).pno; vm.boardvpno = (GetMENUPAGES.Where(w => w.refcode == (ViewBag.MenuPage.imagecode + ";;;;;;").Split(';')[1]).FirstOrDefault() ?? new MenuPage()).pno; } if (vm.Board.isreply == 1 && vm.Board.bno > 0) { vm.BoardCMTs = Dao.Get("board.boardcmts", vm.Board.bno); } return View(vm); } public ActionResult Ready(VMMy vm) { vm.PIs = Dao.Get("pay.mypayitems", new System.Collections.Hashtable() { {"userno", SUserInfo.UserNo } }); return View(vm); } public ActionResult ReadyPay(VMPay vm) { vm.ispaycert = true; vm.viewname4 = GetConfig("fronturl") + "/My/ReadyPayReturn"; vm.viewname6 = GetConfig("pginfomobile").Split('|')[0] + "/My/ReadyPayReturn"; vm.previewname = "/Ready"; base.PayAll(vm); return View("Pay", vm); } public ActionResult ReadyPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult Lecture(VMMy vm) { ViewBag.reporturl = GetConfig("reporturl"); vm.Lects = Dao.Get("lect.mylectures", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "cgcode", vm.intval > 0 ? TestCode3 : null }, { "cshape", vm.stringval } }); return View(vm); } public ActionResult CertPrint(VMMy vm) { ViewBag.TestCode = TestCode; vm.Lect = Dao.Get("lect.lects.my", new System.Collections.Hashtable() { { "lectno", vm.lectno }, { "userno", vm.intval < 1 ? SUserInfo.UserNo : vm.intval } }).Where(w => w.iscomplete == 1).FirstOrDefault() ?? new Lect() { }; if (vm.Lect.pcgcode == TestCode) { vm.CMInnings = Dao.Get("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.Lect.cmno } }); } return View(vm); } public ActionResult CertSet(VMMy vm) { return View(vm); } public ActionResult Exam(VMMy vm) { vm.ExamUsers = Dao.Get("lect.myexams", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo },{ "validstatus",1} }); return View(vm); } public ActionResult ExamDetail(VMMy vm) { if (vm.intval > 0) { vm.Exam = new Exam { exno = vm.intval }; } vm.Exam = Dao.Get("exam.exams", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "exno", vm.Exam.exno } }).FirstOrDefault(); if (vm.Exam == null) { return Redirect("/Course/Exams"); } vm.Exam = Dao.Get("exam.exams", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "exno", vm.intval } }).FirstOrDefault(); if (vm.Exam == null) { return Redirect("/My/Exam"); } vm.FileList = new List(); if (vm.Exam.fgno != null) { vm.FileList = GetFiles(vm.Exam.fgno.Value); } return View(vm); } public ActionResult ExamPrint(VMMy vm) { vm.ExamUser = Dao.Get("lect.myexams", new System.Collections.Hashtable() { { "exno", vm.intval }, { "userno", SUserInfo.UserNo } }).FirstOrDefault() ?? new ExamUser() { }; return View(vm); } public ActionResult ExamPay(VMPay vm) { vm.ispayexam = true; vm.viewname4 = GetConfig("fronturl") + "/My/ExamPayReturn"; vm.viewname6 = GetConfig("pginfomobile").Split('|')[0] + "/My/ExamPayReturn"; vm.previewname = "/Exam"; base.PayAll(vm); return View("Pay", vm); } public ActionResult ExamPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult Cart(VMPay vm) { Dao.Save("pay.cart.clear", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }); vm.PayCarts = Dao.Get("pay.carts", SUserInfo.UserNo); ViewBag.damt = GetInt(GetConfig("deliveramt")); return View(vm); } public ActionResult CartPay(VMPay vm) { vm.ispaycart = true; vm.viewname4 = GetConfig("fronturl") + "/My/CartPayReturn"; vm.viewname6 = GetConfig("pginfomobile").Split('|')[0] + "/My/CartPayReturn"; vm.previewname = "/Cart"; base.PayAll(vm); return View("Pay", vm); } public ActionResult CartPayReturn(VMPay vm) { return PayReturn(vm); } public ActionResult Paies(VMPay vm) { vm.intval = vm.intval < 1 ? 7 : vm.intval; vm.Paies = Dao.Get("pay.mypaies", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo },{"paytermday" + (vm.intval == 7 || vm.intval == 15 ? "" : "x"),vm.intval }, { "paytermmonth" + (vm.intval == 1 || vm.intval == 2 ? "" : "x"), vm.intval } }); return View(vm); } public ActionResult PayInfo(VMPay vm) { ViewBag.istest = GetConfig("ispaytest"); vm.Pay = Dao.Get("pay.mypay", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "payno", vm.payno } }).FirstOrDefault(); if (vm.Pay == null) { return Redirect("/My/Paies"); } vm.PayItems = Dao.Get("pay.mypayitem", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "payno", vm.payno } }); vm.PayItem = Dao.Get("pay.mypayitem", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "payno", vm.payno } }).FirstOrDefault(); vm.intval3 = Dao.Get("pay.mypayrfd", new System.Collections.Hashtable() { { "payno", vm.Pay.payno }/*,{ "rstatus", 0}*/, { "withoutrstatus" , "4" } }).Count(); vm.PayRfd = null; if (vm.intval3 > 0) { vm.PayRfd = Dao.Get("pay.mypayrfdinfo", new System.Collections.Hashtable() {{ "payno", vm.payno }, { "withoutrstatus", "4" } }).FirstOrDefault(); if (vm.PayRfd != null) { vm.FileList = new List() { }; if (vm.PayRfd.fgnor != null) { var fgnos = ""; if (vm.PayRfd.fgnor != null) { fgnos += "," + vm.PayRfd.fgnor; } if (vm.PayRfd.fgnob != null) { fgnos += "," + vm.PayRfd.fgnob; } if (fgnos != "") { vm.FileList = GetFiles(fgnos.Substring(1)); } } } } return View(vm); } public ActionResult QNAs(VMCC vm) { vm.BM = Dao.Get("board.bms", new System.Collections.Hashtable() { { "bmcode", "homeqna" } }).First(); if (vm.BM.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.BM.bmno); } vm.pagerowcount = vm.pagerowcount < 1 ? 10 : vm.pagerowcount; var ht = SetHash(vm); ht.Add("bmno", vm.BM.bmno); ht.Add("isopen", 1); ht.Add("cno", SUserInfo.UserNo); ht.Add("isbase", 1); ht.Add("getcontents", 1); vm.Boards = Dao.Get("board.bs", ht); if (vm.Boards.Count() > 0) { vm.Boards2 = Dao.Get("board.bs.bypbnos", String.Join(",", vm.Boards.Select(s => s.bno))); } vm.pagetotalcount = GetCount(vm.Boards.FirstOrDefault()); vm.pageviewcount = vm.Boards.Count(); return View(vm); } public ActionResult QNA(VMCC vm) { vm.Boards = Dao.Get("board.bs.forqna", new System.Collections.Hashtable() { { "bno", vm.BNo }, { "cno", SUserInfo.UserNo } }); vm.FileList = new List() { }; if (vm.Boards.Where(w=>w.bno == vm.BNo).First().fgno != null) { vm.FileList = GetFiles(vm.Boards.Where(w => w.bno == vm.BNo).First().fgno.Value); } return View(vm); } public ActionResult QNAr(VMCC vm) { vm.BMOs = new List() { }; vm.Board = new Board() { pbno = vm.PBNo}; vm.BM = Dao.Get("board.bms", new System.Collections.Hashtable() { { "bmcode", "homeqna" } }).First(); vm.Board.isreply = vm.BM.isreply; vm.Board.isuseopening = vm.BM.isuseopening; vm.Board.bmno = vm.BM.bmno; if (vm.BM.isuseopening == 1) { vm.BMOs = Dao.Get("board.bmos", vm.BM.bmno); } return View(vm); } public ActionResult Alarm(VMMy vm) { vm.Datas = Dao.Get("lect.myalarm", SUserInfo.UserNo); return View(vm); } public ActionResult Memo(NP.Model.VMCC vm) { vm.Memos = InitM(); //var ht = SetHash(vm); //ht.Add("userno", SUserInfo.UserNo); vm.Memos = Dao.Get("common.list.rcv", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }); //vm.pagetotalcount = GetCount(vm.Memos.FirstOrDefault()); return View(vm); } public ActionResult MemoView(NP.Model.VMCC vm) { if (vm.sr == "r") { vm.Memo = Dao.Get("common.memo", new System.Collections.Hashtable() { { "mno", vm.mno},{ "readuser", SUserInfo.UserNo},{ "readcheck",1} }).First(); vm.FileList = new List() { }; if (vm.Memo.fgno != null) { vm.FileList = GetFiles(vm.Memo.fgno.Value); } } else { vm.Memo = Dao.Get("common.memo", new System.Collections.Hashtable() { { "mno", vm.mno }, { "cno", SUserInfo.UserNo } }).First(); vm.FileList = new List() { }; if (vm.Memo.fgno != null) { vm.FileList = GetFiles(vm.Memo.fgno.Value); } vm.Memos = Dao.Get("common.list.senddata", new System.Collections.Hashtable() { { "mno", vm.mno } }); } return View(vm); } public ActionResult MemoWrite(NP.Model.VMCC vm) { vm.User = new Users() { }; if (vm.intval > 0) { vm.User = Dao.Get("users.users", new System.Collections.Hashtable { { "userno", vm.intval }, { "includesysadmin",1 } }).First(); } return View(vm); } public ActionResult MemoSend(NP.Model.VMCC vm) { vm.Memos = InitM(); //var ht = SetHash(vm); //ht.Add("userno", SUserInfo.UserNo); vm.Memos = Dao.Get("common.list.send", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }); if (vm.Memos.Count() > 0) { vm.Memos2 = Dao.Get("common.list.senddata", new System.Collections.Hashtable() { { "mnos", string.Join(",", vm.Memos.Select(s => s.mno.ToString())) } }); } //vm.pagetotalcount = GetCount(vm.Memos.FirstOrDefault()); return View(vm); } public ActionResult MyInfo(NP.Model.VMMy vm) { return View(vm); } public ActionResult MyInfoCheck(NP.Model.VMMy vm) { //sns인증 ViewBag.naverClientID = naverClientID; ViewBag.kakaoClientID = kakaoClientID; ViewBag.googleClientID = googleClientID; //인증키 확인 if (vm.intval < 1 || Dao.Get("users.usercheckconfirm", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "checkkey", vm.intval } }).First() < 1) { return Redirect("/My/MyInfo"); } vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault(); 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 MyAssInfo(NP.Model.VMMy vm) { vm.Assign = Dao.Get("users.users.assign", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo } }).FirstOrDefault(); vm.FileList = new List() { }; if(vm.Assign.fgnobno != null) { vm.FileList = GetFiles(vm.Assign.fgnobno.Value); } return View(vm); } public ActionResult Document(VMMy vm) { ViewBag.reporturl = GetConfig("reporturl"); if (vm.tabidx == 0) { vm.pagerowcount = vm.pagerowcount < 1 ? 10 : vm.pagerowcount; var ht = SetHash(vm); ht.Add("userno", SUserInfo.UserNo); vm.Lects = Dao.Get("lect.lecture.document", ht); vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault()); } else { //여기는 2021년 이전과정 근데 아직 뭔가 안나옴.. } return View(vm); } } }