using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NP.Model; namespace NP.BO.Controllers { public class userController : BOBaseController { public ActionResult users(NP.Model.VMUser vm){vm.viewname = "user";return us(vm);} public ActionResult professors(NP.Model.VMUser vm){vm.viewname = "professor";return us(vm);} public ActionResult admins(NP.Model.VMUser vm){vm.viewname = "admin";return us(vm);} public ActionResult us(VMUser vm) { LogSet(new ActLog() {logtype = 10, logtarget = vm.viewname == "user" ? 11 : vm.viewname == "professor" ? 12 : 13, logdata = vm.viewname == "user" ? "사용자목록" : vm.viewname == "professor" ? "교강사목록" : "운영자목록", uno = SUserInfo.UserNo, uip = GetUserIP() }); vm.Users = InitM(); var ht = SetHash(vm); if (!SUserInfo.IsAdmin) { ht.Add("asno", SUserInfo.ASNo); } if (vm.viewname == "user"){ht.Add("usertype", 1);} else if (vm.viewname == "professor"){ht.Add("usertype", 11);} else if (vm.viewname == "admin"){ht.Add("usertypeover", 80); ht.Add("includesysadmin", 1); } ht.Add("asname", vm.stringval); ht.Add("brno", (vm.stringval2 ?? "").Replace("-", "")); ht.Add("status", vm.stringval3); vm.stringval4 = vm.stringval4 ?? "username"; ht.Add(vm.stringval4, vm.stringval5); if (vm.stringval4 == "mobile" && !string.IsNullOrEmpty(vm.stringval5)) { var v5 = vm.stringval5.Replace("-", ""); if (v5.Length == 10) { vm.stringval5 = v5.Substring(0, 3) + "-" + v5.Substring(3, 3) + "-" + v5.Substring(6); } else if (v5.Length == 11) { vm.stringval5 = v5.Substring(0, 3) + "-" + v5.Substring(3, 4) + "-" + v5.Substring(7); } ht[vm.stringval4] = vm.stringval5; } vm.Users = Dao.Get("users.users", ht); ViewBag.IsSiteAdmin = SUserInfo.IsSiteAdmin; vm.pagetotalcount = GetCount(vm.Users.FirstOrDefault()); return View("us",vm); } public ActionResult userreg(NP.Model.VMUser vm) { return ur(vm); } public ActionResult professorreg(NP.Model.VMUser vm) { return ur(vm); } public ActionResult adminreg(NP.Model.VMUser vm) { return ur(vm); } public ActionResult ur(VMUser vm) { vm.User = new Users() { status = 1, usertype = vm.viewname == "user" ? 1 : vm.viewname == "professor" ? 11 : 0 }; vm.Lects = new List() { }; vm.FileList = new List() { }; vm.CMPRs = new List() { }; if (vm.intval > 0) { vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", vm.intval } , { "includesysadmin", 1 } }).First(); LogSet(new ActLog() { logtype = 20, logtarget = 21, logdata = vm.User.username + "("+vm.User.userid+")", userno = vm.User.userno, uno = SUserInfo.UserNo, uip = GetUserIP() }); if (vm.viewname == "user") { vm.Lects = Dao.Get("lect.lects.my", new System.Collections.Hashtable() { { "userno", vm.User.userno } }); } else if (vm.viewname == "professor") { vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "userno", vm.User.userno },{ "ismaster",0},{ "cmisdel",0} }); vm.pagetotalcount = GetCount(vm.CMPRs.FirstOrDefault()); } if ((vm.User.fgnoprofile ?? 0) > 0) { vm.FileList = GetFiles(vm.User.fgnoprofile.Value); } } else if (!SUserInfo.IsAdmin) { vm.User.asno = SUserInfo.ASNo; } if (vm.viewname != "admin") { 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); } } } else { vm.userauths = Dao.Get("sys.menu.auths", new System.Collections.Hashtable() { { "isadmin", 1 } }); vm.ComCodes = GetComCodes("jobposition,job"); } return View("ur", vm); } public ActionResult urprint(VMUser vm) { vm.User = Dao.Get("users.users", new System.Collections.Hashtable() { { "userno", vm.intval } }).First(); vm.CMPRs = Dao.Get("cm.cmprs", new System.Collections.Hashtable() { { "userno", vm.User.userno }, { "ismaster", 0 }, { "cmisdel", 0 } }); vm.pagetotalcount = GetCount(vm.CMPRs.FirstOrDefault()); return View(vm); } public ActionResult assigns(NP.Model.VMUser vm) { vm.pagerowcount = 15; vm.Assigns = InitM(); var ht = SetHash(vm); if (!SUserInfo.IsAdmin) { ht.Add("asno", SUserInfo.ASNo); } else { vm.IsAdmin = true; } if (!IsPost()) { vm.stringval21 = "1,0"; } vm.stringval12 = vm.stringval12 ?? DateTime.Now.Year.ToString(); vm.stringval18 = vm.stringval18 ?? "a.joindate desc"; vm.stringval19 = vm.stringval19 ?? "a.asname asc"; ht.Add("isjoin", vm.stringval); ht.Add("asname", vm.stringval2); ht.Add("statuses", vm.stringval3); ht.Add("ceoname", vm.stringval4); ht.Add("mname", vm.stringval5); ht.Add("issite", vm.stringval20); ht.Add("statusfee", vm.stringval21); ht.Add("mphone", vm.stringval22); if (!string.IsNullOrEmpty(vm.stringval6) || !string.IsNullOrEmpty(vm.stringval7)) { ht.Add("salesamountf", GetInt64(vm.stringval6 ?? "0")); ht.Add("salesamountt", GetInt64(vm.stringval7 ?? "0")); } if (!string.IsNullOrEmpty(vm.stringval8) || !string.IsNullOrEmpty(vm.stringval9)) { ht.Add("mcountf", GetInt64(vm.stringval8 ?? "0")); ht.Add("mcountt", GetInt64(vm.stringval9 ?? "0")); } if (!string.IsNullOrEmpty(vm.stringval10) || !string.IsNullOrEmpty(vm.stringval11)) { ht.Add("cdtf", vm.stringval10??"1980-11-28"); ht.Add("cdtt", string.IsNullOrEmpty(vm.stringval11)?DateTime.Now.ToString("yyyy-MM-dd 23:59:59") : (vm.stringval11 + " 23:59:59")); } ht.Add("fyear", vm.stringval12); ht.Add("astype", vm.stringval13); ht.Add("asctg", vm.stringval14); ht.Add("askey", vm.stringval15); ht.Add("brno", string.IsNullOrEmpty(vm.stringval16)?null: vm.stringval16.Replace("-", "")); //ht.Add("gcode", vm.stringval17); ht.Add("orderby", vm.stringval18 + "," + vm.stringval19); if (vm.isexceldown == 1) { ht.Remove("pagenum"); if (vm.excelname.Split('_')[0] == "Assign") { ht.Add("excel1", ",concat('[',a.post,']') post"); ht.Add("isexcel", "1"); //ht.Add("asnolt", 19); return ExportExcel( new String[] { "회원사코드","법인명", "대표자","회원구분","업종","주요키워드", "우편번호", "사업장주소", "사업자등록번호","법인등록번호", "가입년도", "가입상태", "계열","회비","올해납부여부","올해납부금액" }, new String[] { "ascode","asname", "ceoname","astypename","bkind","askeyname" ,"post", "adr1", "brnofmt", "grnofmt","joindateyear" ,"isjoinname", "asctgname","joinprice","fnstatusname","fnprice" }, Dao.Get("users.assigns2", ht), vm.excelname); } else { ht.Add("excel1", ",a.post"); ht.Add("isexcel", "1"); return ExportExcel( new String[] { "회원사코드","법인명","사업장우편번호" ,"사업장주소", "업무구분", "부서명", "성명", "직위", "전화번호", "휴대전화", "이메일", "담당자우편번호", "담당자주소" }, new String[] { "ascode", "asname","post" ,"adr1", "mjtypename", "depart", "mname", "position", "telno", "mobile", "email","post2" ,"adr2" }, Dao.Get("users.assignmans2", ht), vm.excelname); } } else { ht.Add("excel1", ",a.post"); vm.ComCodes = GetComCodes("astype,asctg,askey"); vm.Assigns = Dao.Get("users.assigns2", ht); //if (vm.Assigns.Count() > 0) //{ // vm.AssignFees = Dao.Get("users.assignfees", new System.Collections.Hashtable() { { "asnos", string.Join(",", vm.Assigns.Select(s => s.asno)) }, { "fyear", DateTime.Now.Year }, { "status", 1 } }); //} vm.pagetotalcount = GetCount(vm.Assigns.FirstOrDefault()); } return View(vm); } public ActionResult asr(VMUser vm) { vm.IsAdmin = SUserInfo.IsAdmin; vm.FileList = new List() { }; if (!vm.IsAdmin) { vm.intval = SUserInfo.ASNo; } vm.Assign = new Assign() { isjoin = 1, status = 1 }; if (vm.intval > 0) { vm.Assign = Dao.Get("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval },{ "excel1",",a.post" },{ "orderby", "a.asname" } }).First(); LogSet(new ActLog() { logtype = 50, logtarget = 31, logdata = vm.Assign.asname, userno = vm.Assign.asno, uno = SUserInfo.UserNo, uip = GetUserIP() }); var fnos = ""; if ((vm.Assign.fgnobno??0) > 0) { fnos += vm.Assign.fgnobno.Value.ToString(); } if ((vm.Assign.fgnobank ?? 0) > 0) { fnos += "," + vm.Assign.fgnobank.Value.ToString(); } if (fnos != "") { vm.FileList = GetFiles(fnos.StartsWith(",") ? fnos.Substring(1) : fnos); } } else { vm.Assign.ascode = Dao.Get("users.assign.newascode", 1).First(); } vm.ComCodes = GetComCodes("astype,asctg,askey"); return View(vm); } public ActionResult asv(VMUser vm) { vm.IsAdmin = SUserInfo.IsAdmin; vm.IsSiteAdmin = SUserInfo.IsSiteAdmin; vm.FileList = new List() { }; if (!SUserInfo.IsAdmin) { vm.intval = SUserInfo.ASNo; } vm.Assign = Dao.Get("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval },{ "fyear",DateTime.Now.Year},{ "excel1",",a.post" }, { "orderby", "a.asname" } }).First(); LogSet(new ActLog() { logtype = 50, logtarget = 31, logdata = vm.Assign.asname, userno = vm.Assign.asno, uno = SUserInfo.UserNo, uip = GetUserIP() }); var fnos = ""; if ((vm.Assign.fgnobno ?? 0) > 0) { fnos += vm.Assign.fgnobno.Value.ToString(); } if ((vm.Assign.fgnobank ?? 0) > 0) { fnos += "," + vm.Assign.fgnobank.Value.ToString(); } if (fnos != "") { vm.FileList = GetFiles(fnos.StartsWith(",") ? fnos.Substring(1) : fnos); } vm.AssignMans = Dao.Get("users.assignmans", new System.Collections.Hashtable() { { "asno", vm.intval } }); return View(vm); } public ActionResult asp(VMUser vm) { if (!SUserInfo.IsAdmin) { vm.intval = SUserInfo.ASNo; } vm.Assign = Dao.Get("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval }, { "fyear", DateTime.Now.Year },{ "excel1", ",a.post" }, { "orderby", "a.asname" } }).First(); vm.AssignMans = Dao.Get("users.assignmans", new System.Collections.Hashtable() { { "asno", vm.Assign.asno } }); return View(vm); } public ActionResult asfee(VMUser vm) { vm.IsAdmin = SUserInfo.IsAdmin; vm.IsSiteAdmin = SUserInfo.IsSiteAdmin; vm.SCUserNo = SUserInfo.UserNo; if (!SUserInfo.IsAdmin && !SUserInfo.IsSiteAdmin) { Response.Redirect("/"); } vm.Assign = Dao.Get("users.assigns2", new System.Collections.Hashtable() { { "asno", vm.intval }, { "fyear", DateTime.Now.Year },{ "excel1", ",a.post" }, { "orderby", "a.asname" } }).First(); vm.AssignFees = Dao.Get("users.assignfees", new System.Collections.Hashtable() { { "asno", vm.Assign.asno } }); vm.SCUserName = SUserInfo.UserName; return View(vm); } public ActionResult assite(VMUser vm) { if (!SUserInfo.IsAdmin) { Response.Redirect("/"); } vm.Assign = Dao.Get("users.assignsite", new System.Collections.Hashtable() { { "asno", vm.intval } }).First(); vm.FileList = new List(); if ((vm.Assign.sitelogo ?? 0) > 0) { vm.FileList = GetFiles(vm.Assign.sitelogo.Value); } return View(vm); } } }