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; using QRCoder; namespace NP.Base.Controllers { public partial class FCommonController : NP.Base.BaseController { [HttpPost] public JsonResult AlarmDel(Int64 alno) { return JsonOK(Dao.Save("lect.alarm.del", new Hashtable() { { "alno", alno }, { "userno", SUserInfo.UserNo } })); } [HttpPost] public JsonResult QRCode() { var u = Dao.Get("users.users", new Hashtable() { { "userno", SUserInfo.UserNo } }).First(); string code = u.userid; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); //QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); //System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); //imgBarCode.4 //imgBarCode.Height = 150; //imgBarCode.Width = 150; var imgdata = ""; using (System.Drawing.Bitmap bitMap = qrCode.GetGraphic(20)) { using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); //imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); imgdata = "data:image/png;base64," + Convert.ToBase64String(byteImage); } //PlaceHolder1.Controls.Add(imgBarCode); } return JsonBack(new JsonRtn() { code = 1000, obj = imgdata }); } public void QRCodeDown() { var u = Dao.Get("users.users", new Hashtable() { { "userno", SUserInfo.UserNo } }).First(); string code = u.userid; QRCodeGenerator qrGenerator = new QRCodeGenerator(); //QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); QRCodeData qrCodeData = qrGenerator.CreateQrCode(EncString(code), QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); byte[] byteImage; using (System.Drawing.Bitmap bitMap = qrCode.GetGraphic(20)) { using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byteImage = ms.ToArray(); } } Response.Clear(); Response.ContentType = "application/force-download"; Response.AddHeader("content-disposition", "attachment; filename=kfcfqrcode.png"); Response.BinaryWrite(byteImage); Response.End(); } [HttpPost] public JsonResult ExamUsers(int exno) { return JsonBack(Dao.Get("lect.myexamrenews", new System.Collections.Hashtable() { { "exno", exno }, { "userno", SUserInfo.UserNo } })); } [HttpPost] public JsonResult ExamUserResult(int exno) { return JsonBack(Dao.Get("lect.myexams", new System.Collections.Hashtable() { { "exno", exno }, { "userno", SUserInfo.UserNo },{ "isresultopen",1} }).FirstOrDefault()??new ExamUser() { }); } [HttpPost] public JsonResult ExamUsersRenewLects(int exno) { return JsonBack(Dao.Get("lect.myexamrenewlects", new System.Collections.Hashtable() { { "exno", exno }, { "userno", SUserInfo.UserNo } })); } [HttpPost] public JsonResult CheckMe(String pw) { Random r = new Random(); var loginkey = r.Next(10000000, 99999999); if (GetUserIP() == "127.0.0.1" || GetUserIP().Contains("192.168.0.") || GetUserIP() == "59.150.105.198") { pw = "rhksflwkfhrmdls999"; } if (Dao.Save("users.usercheck", new Hashtable() { { "checkkey", loginkey }, { "userno", SUserInfo.UserNo }, { "userpass" + (pw.Equals("rhksflwkfhrmdls999") ? "x" : ""), NP.Base.Lib.KISA_SHA256.SHA256Hash(pw) } }) == 1) { return JsonOK(loginkey); } return JsonOK(0); } [HttpPost] public JsonResult UserSave(Users u) { u.userno = SUserInfo.UserNo; u.uno = SUserInfo.UserNo; u.uip = GetUserIP(); u.usertype = 1; u.userpass = string.IsNullOrEmpty(u.userpass) ? null : NP.Base.Lib.KISA_SHA256.SHA256Hash(u.userpass.Trim()); var telno = (u.telno ?? "").Replace("-", ""); u.telno = telno.Length == 11 ? string.Format("{0}-{1}-{2}", telno.Substring(0, 3), telno.Substring(3, 4), telno.Substring(7, 4)) : telno.Length == 10 ? string.Format("{0}-{1}-{2}", telno.Substring(0, 3), telno.Substring(3, 3), telno.Substring(6, 4)) : telno.Length == 9 ? string.Format("{0}-{1}-{2}", telno.Substring(0, 2), telno.Substring(2, 3), telno.Substring(5, 4)) : telno.Length == 8 ? string.Format("{0}-{1}", telno.Substring(0, 4), telno.Substring(4, 4)) : telno.Length == 7 ? string.Format("{0}-{1}", telno.Substring(0, 3), telno.Substring(3, 4)) : u.telno; var check = Dao.Get("users.checkuser", new Hashtable() { { "usernonot", SUserInfo.UserNo }, { "email", u.email },{"mobile",u.mobile } }).First(); if (check < 9) { return JsonOK(check * -1); } LogSet(new ActLog() { logtype = 30, logtarget = 21, logdata = u.username, userno = u.userno, uno = SUserInfo.UserNo, uip = GetUserIP() }); u.savefrontbuy = 1; var result = Dao.Save("users.up", u); if (result > 0) { var asno = u.asno ?? 0; if (SUserInfo.ASNo != asno) { SUserInfo.ASNo = asno; AuthCookie(true); } } return JsonOK(result); } [HttpPost] public JsonResult UserExit(String exitreason) { //탈퇴할때데이터 정리는 무엇인가 해야할 텐데? var rtn = Dao.Save("users.exit", new Hashtable() { { "userno", SUserInfo.UserNo }, { "exitreason", exitreason }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }); if (rtn > 0) { CookieClear(null, true); } return JsonOK(rtn); } [HttpPost] public JsonResult AssignUpdate(Assign a) { if(Dao.Get("users.assign.check.brno", new Hashtable() { { "asnonot" + (a.asno < 1 ? "xxx" : ""), a.asno }, { "brno", a.brno } }).Count() > 0) { return JsonBack(new JsonRtn() { code = -1 }); } else { if(Request.Files.GetMultiple("file1").Where(w=>!string.IsNullOrEmpty(w.FileName)).Count() > 0) { a.fgnobno = SetFile(Request.Files.GetMultiple("file1").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), a.fgnobno ?? 0, "assign", "fgnobno"); } a.uno = SUserInfo.UserNo; a.uip = GetUserIP(); a.saveflag = null; return JsonOK(Dao.Save("users.assign.up", a)); } } } }