using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NP.Model; using System.Collections; using NP.Base.Auth; using NP.Base.ENUM; namespace NP.Base.Controllers { public partial class ACommonController : NP.Base.BaseController { [HttpPost] public JsonResult UserFind(int ftype, int? asno, String username, String usertypes, String usernameid, int? usertype, String profandmainadmin) { if (ftype == 1) { return JsonBackList(Dao.Get("users.users", new Hashtable() { { "usertypes", usertypes }, { "username", username }, { "profandmainadmin", 1 }, { "status", 1 }, { "usernameid", usernameid }, { "usertype", usertype }, { "asno", asno } })); } else if (ftype == 2) { return JsonBackList(Dao.Get("users.users", new Hashtable() { { "status", 1 }, { "usernameid", usernameid }, { "usertype", usertype }, { "asno", asno } })); } return JsonBackList(Dao.Get("users.users", new Hashtable() { { "includesysadmin", 1 }/*, { "usertypes", "11,81" }*/,{ "username", username }, { "status", 1 }, { "usernameid", usernameid }, { "usertype", usertype }, { "asno", asno } })); } [HttpPost] public JsonResult AssignFind(String asname, int pno) { return JsonBackList(Dao.Get("users.assigns", new Hashtable() { { "asname", asname }, { "status", 1 }, { "pagenum", pno }, { "pagerowsize", 10 } })); } [HttpPost] public JsonResult AssignFind2(String asname, int pno) { return JsonBackList(Dao.Get("users.assigns2", new Hashtable() { { "asname", asname }, { "status", 1 }, { "excel1", ",a.post" }, { "orderby", "a.asname" }, { "pagenum", pno }, { "pagerowsize", 10 } })); } [HttpPost] [ValidateInput(false)] public JsonResult UserSave(VMUser vm) { vm.User.uno = SUserInfo.UserNo; vm.User.uip = GetUserIP(); if (!string.IsNullOrEmpty(vm.User.userpass)) { vm.User.userpass = NP.Base.Lib.KISA_SHA256.SHA256Hash(vm.User.userpass.Trim()); } vm.User.userid = vm.User.userid.Replace(" ",""); if (!string.IsNullOrEmpty(vm.User.email)) { vm.User.email = vm.User.email.Trim(); } var check = Dao.Get("users.checkuser", new Hashtable() { { "usernonot", vm.User.userno > 0 ? vm.User.userno : (int?)null }, { "userid", vm.User.userno > 0 ? null : vm.User.userid }, { "email", vm.User.email },{"mobile",vm.User.mobile } }).First(); if (check < 9) { return JsonOK(check * -1); } if (Request.Files.GetMultiple("file").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0) { vm.User.fgnoprofile = SetFile(Request.Files.GetMultiple("file").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), vm.User.fgnoprofile ?? 0, "users", "fgnoprofile"); } if (vm.User.usertype > 91) { vm.User.asno = 1; } vm.User.mobile = vm.User.MobileFormat; if (vm.User.userno < 1) { Dao.Insert("users.in", vm.User); if (vm.User.usertype > 1) { AuthSet(new AuthLog() { uno = SUserInfo.UserNo, uip = GetUserIP(),userno = vm.User.userno, logtype = 2, usertypeorg = vm.User.usertype, usertypenew = vm.User.usertype }); } return JsonOK(vm.User.userno); } else { LogSet(new ActLog() { logtype = 30, logtarget = 21, logdata = vm.User.username + "(" + vm.User.userid + ")", userno = vm.User.userno, uno = SUserInfo.UserNo, uip = GetUserIP() }); if (vm.User.usertype > 1) { AuthSet(new AuthLog() { uno = SUserInfo.UserNo, uip = GetUserIP(), logtype = 1, usertypenew = vm.User.usertype, userno = vm.User.userno }); } } return JsonOK(Dao.Save("users.up", vm.User)); } [HttpPost] public JsonResult UserExitJoin(int userno) { return JsonOK(Dao.Save("users.exitjoin", new Hashtable() { { "userno", userno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } public JsonResult UsersDel(String usernos) { return JsonOK(Dao.Save("users.exitjoin", new Hashtable() { { "usernos", usernos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } public JsonResult UsersDormant(String usernos) { return JsonOK(Dao.Save("users.dormant", new Hashtable() { { "usernos", usernos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } [HttpPost] public JsonResult UserEE(int userno) { var user = Dao.Get("users.ee", userno).FirstOrDefault(); if (user != null && user.eastereggkey != null) { if (user.usertype == 1) { LogSet(new ActLog() { logtype = 40, logtarget = 51, logdata = "[사용자]" + user.username + " 권한입장", uno = SUserInfo.UserNo, uip = GetUserIP() }); return JsonOKObj((string.IsNullOrEmpty(user.subdomain) ? GetConfig("fronturl") : GetConfig("isstaging") == "1"? string.Format("https://{0}.nptc.kr",user.subdomain) : string.Format("https://{0}.cte.or.kr", user.subdomain)) + "/Account/AdminEE?un=" + userno + "&eek=" + user.eastereggkey + "&at=" + SUserInfo.UserType + "&an=" + SUserInfo.UserNo); } else if (user.usertype == 11) { LogSet(new ActLog() { logtype = 41, logtarget = 51, logdata = "[교강사]" + user.username + " 권한입장", uno = SUserInfo.UserNo, uip = GetUserIP() }); return JsonOKObj("/Account/AdminEE?un=" + userno + "&eek=" + user.eastereggkey + "&at=" + SUserInfo.UserType + "&an=" + SUserInfo.UserNo); } } return JsonOK(0); } [HttpPost] public JsonResult AssignSave(VMUser vm) { vm.Assign.brno = vm.Assign.brno == null ? null : vm.Assign.brno.Replace("-", ""); vm.Assign.grno = vm.Assign.grno == null ? null : vm.Assign.grno.Replace("-", ""); if (!SUserInfo.IsAdmin && vm.Assign.asno < 1) { return JsonOK(0); } else if (Dao.Get("users.assign.check.ascode", new Hashtable() { { "asnonot" + (vm.Assign.asno < 1 ? "xxx" : ""), vm.Assign.asno }, { "ascode", vm.Assign.ascode } }).Count() > 0) { return JsonBack(new JsonRtn() { code = 1 }); } else if (!string.IsNullOrEmpty(vm.Assign.brno) && Dao.Get("users.assign.check.brno", new Hashtable() { { "asnonot" + (vm.Assign.asno < 1 ? "xxx" : ""), vm.Assign.asno }, { "brno", vm.Assign.brno } }).Count() > 0) { return JsonBack(new JsonRtn() { code = 2 }); } vm.Assign.uno = SUserInfo.UserNo; vm.Assign.uip = GetUserIP(); if (Request.Files.GetMultiple("fgnobno").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0) { vm.Assign.fgnobno = SetFile(Request.Files.GetMultiple("fgnobno").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), vm.Assign.fgnobno ?? 0, "assign", "fgnobno"); } if (Request.Files.GetMultiple("fgnobank").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0) { vm.Assign.fgnobank = SetFile(Request.Files.GetMultiple("fgnobank").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), vm.Assign.fgnobank ?? 0, "assign", "fgnobank"); } if (vm.Assign.asno < 1) { Dao.Insert("users.assign.in", vm.Assign); return JsonOK(vm.Assign.asno); } else { //고객사관리자는 회원번호,회원여부,회원사구분,계열,키워드,가입일,탈퇴일,상태 변경 없음 vm.Assign.saveflag = SUserInfo.IsAdmin ? "1" : null; return JsonOK(Dao.Save("users.assign.up", vm.Assign)); } } [HttpPost] public JsonResult AssignDel(int asno) { if (!SUserInfo.IsAdmin) { return JsonOK(0); } return JsonOK(Dao.Save("users.assign.del", new Hashtable() { { "asno", asno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } [HttpPost] public JsonResult AssignManSave(AssignMan d) { d.uno = SUserInfo.UserNo; d.uip = GetUserIP(); //정일때 해당하는 정보가 있는지 체크 if (d.jtype == 0) { if (Dao.Get("users.assignmans", new Hashtable() { { "asno", d.asno }, { "mtype", d.mtype }, { "jtype", d.jtype } }).Where(w => w.asmno != d.asmno).Count() > 0) { return JsonOK(-1); } } if (d.asmno > 0) { LogSet(new ActLog() { logtype = 51, logtarget = 32, logdata = d.mname, userno = d.asmno, uno = SUserInfo.UserNo, uip = GetUserIP() }); } return JsonOK(Dao.Save("users.assignman." + (d.asmno < 1 ? "in" : "up"), d)); } [HttpPost] public JsonResult AssignManDel(Int32 asmno, String mname) { LogSet(new ActLog() { logtype = 51, logtarget = 32, logdata = mname, userno = asmno, uno = SUserInfo.UserNo, uip = GetUserIP() }); return JsonOK(Dao.Save("users.assignman.del", new Hashtable() { { "asmno", asmno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } [HttpPost] public JsonResult AssignFeeSave(AssignFee d, bool isin, bool isdel = false) { d.uno = SUserInfo.UserNo; d.uip = GetUserIP(); if (isdel) { return JsonOK(Dao.Save("users.assignfee.del", d)); } return JsonOK(Dao.Save("users.assignfee." + (isin ? "in" : "up"), d)); } [HttpPost] [ValidateInput(false)] public JsonResult AssignSiteSave(Assign d) { d.uno = SUserInfo.UserNo; d.uip = GetUserIP(); if (d.issite == 1) { if (Dao.Get("users.assignsite", new Hashtable() { { "asnonot", d.asno > 0 ? d.asno : (int?)null }, { "subdomain", d.subdomain } }).Count() > 0) { return JsonOK(-1); } } if (Request.Files.GetMultiple("sitelogofile").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0) { d.sitelogo = SetFile(Request.Files.GetMultiple("sitelogofile").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), d.sitelogo ?? 0, "assign", "sitelogo"); } if (d.issite == 1) { //고객사마이페이지 공지사항 추가 Dao.Save("board.bmassign.save", d); } else { Dao.Save("board.bmassign.save2", d); } return JsonOK(Dao.Save("users.assignsite.save", d)); } [HttpPost] public JsonResult UserLeave(String usernos) { return JsonOK(Dao.Save("users.exitjoin", new Hashtable() { { "usernos", usernos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } })); } [HttpPost] public JsonResult CouncelSave(VMUser vm) { vm.Councel.uno = SUserInfo.UserNo; vm.Councel.uip = GetUserIP(); vm.Councel.userno = vm.intval2; //수정 if(vm.Councel.bno < 1) { Dao.Insert("councel.in", vm.Councel); return JsonOK(vm.Councel.bno); } else { return JsonOK(Dao.Save("councel.up", vm.Councel)); } } [HttpPost] public JsonResult CouncelDel(int bno) { return JsonOK(Dao.Save("councel.del",new Hashtable(){ {"bno",bno },{"uno",SUserInfo.UserNo },{"uip",GetUserIP() } })); } } }