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 (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 } }).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; return JsonOK(Dao.Save("users.up", u)); } [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); } } }