public async Task<IHttpActionResult> PostForCreateNewAdmin(JObject data) { const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; RNGCryptoServiceProvider gen = new RNGCryptoServiceProvider(); byte[] num = new byte[8]; //GENERATE PASSWORD 8 CHARS string password = ""; gen.GetBytes(num); for (int j = 0; j < 8; j++) { num[j] %= (byte)chars.Length; password += chars[num[j]]; } //========================= string emaillower = data["email"].ToString(); emaillower = emaillower.ToLower(); UsernamePassword u = new UsernamePassword(emaillower, password); datacontext.admin_creator_id = Convert.ToInt32(data["user_id"]); datacontext.username = emaillower; datacontext.password = u.password; datacontext.t_name = data["t_name"].ToString(); object result = await datacontext.InsertWithSelect(); if (result.GetType().ToString() != "System.String") { object sendresult = await MailingUtils.sendUsernamePasswordMailForAdmin(emaillower, password, datacontext.t_name); if (sendresult == null) return Ok(result); else return InternalServerError((Exception)sendresult); } else return BadRequest(result.ToString()); }
public async Task<IHttpActionResult> PostForLogin(JObject usrpwdata) { List<System.Net.Http.Headers.CookieHeaderValue> x = Request.Headers.GetCookies("mymy").ToList(); if (x.Count == 1) { //If login cookie exists:Return error to indicate that user already logged in return BadRequest("ท่านได้เข้าสู่ระบบอยู่แล้ว"); } UsernamePassword data = new UsernamePassword(); data.username = usrpwdata["username"].ToString(); data.password = usrpwdata["password"].ToString(); if (data.username == "" && data.password == "") return BadRequest("กรุณาใส่ชื่อผู้ใช้และรหัสผ่านที่ต้องการเข้าสู่ระบบ"); else if (data.username == "") return BadRequest("กรุณาใส่ชื่อผู้ใช้งานที่ต้องการเข้าสู่ระบบ"); else if (data.password == "") return BadRequest("กรุณาใส่รหัสผ่านที่ใช้ในการเข้าสู่ระบบ"); oUsers context = new oUsers(); data.username = data.username.ToLower(); object result = await context.SelectUser(data.username); //Check whether login is success? if (result.GetType().ToString() != "System.String") { User_information_with_privilege_information u = (User_information_with_privilege_information)result; string oldpassword = data.password; data.password = u.information.GetPassword(); if (data.isMatchPassword(oldpassword)) { return Ok(u); } else { return BadRequest("ชื่อผู้ใช้งานหรือรหัสผ่านไม่ถูกต้อง"); } } else { return BadRequest("ชื่อผู้ใช้งานหรือรหัสผ่านไม่ถูกต้อง"); } }