YNICTE/Base/Controller/ACommonUser.cs

221 lines
11 KiB
C#

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.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.users", new Hashtable() { { "status", 1 }, { "usernameid", usernameid }, { "usertype", usertype }, { "asno", asno } }));
}
return JsonBackList(Dao.Get<Users>("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<Assign>("users.assigns", new Hashtable() { { "asname", asname }, { "status", 1 }, { "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<int>("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>("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<Assign>("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<Assign>("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<Assign>("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<AssignMan>("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<Assign>("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() } }));
}
}
}