public IActionResult ChangePassword(string Password, string Password2) { string user_id_string = HttpContext.Session.GetString("User_ID"); int user_id; try { user_id = Convert.ToInt32(user_id_string); } catch { user_id = 0; } //เช็คจากฝั่ง Server ถ้า Password ไม่ตรงกัน if (Password != Password2) { TempData["msg"] = _CLSR.GetScriptAlertPopUp("Error", "Please contact Administrator", "", "E"); return(RedirectToAction("ChangePassword", "Users")); } else { var user = _context.User.Where(i => i.User_ID == user_id).SingleOrDefault(); using (IDbContextTransaction dbTran = _context.Database.BeginTransaction()) { String cDate = _CLSR.GetDateNow(""); String cTime = _CLSR.GetTimeNow(""); user.Password = _CLSR.EncryptSHA512(Password); user.Last_Update = cDate; _context.Update(user); _context.SaveChanges(); //ถ้าบันทึกข้อมูลเสร็จ ให้ Commit เพื่อยืนยันการเซฟข้อมูล dbTran.Commit(); //ถ้าไม่สำเร็จให้ RollBack(); //Temp Message เพื่อขึ้น Alert ป๊อปอัพแสดง TempData["msg"] = _CLSR.GetScriptAlertPopUp("Success", "Password changed successfully.", "", "D"); return(RedirectToAction("Index", "Home")); } } }
//Checked Task public IActionResult Checked_Task(int id, [Bind("Task_ID, Task_Parent_ID, User_ID, Task_Name, Task_Due_Date, Task_Due_Time, Task_Description, Task_isFocus, Task_Create_Date, Task_Update_Date, Task_Status, Task_isComplete")] ToDo_Task ToDo_Task) { string user_id_string = HttpContext.Session.GetString("User_ID"); int user_id; if (user_id_string == null) { TempData["msg"] = _CLSR.GetScriptAlertPopUp("Warning", "You have not login yet.", "", "D"); return(RedirectToAction("Index", "Home")); } else { try { user_id = Convert.ToInt32(user_id_string); } catch { user_id = 0; return(RedirectToAction("Index", "Home")); } var todo_task = _context.ToDo_Task.Where(i => i.Task_ID == id).FirstOrDefault(); String cDate = _CLSR.GetDateNow(""); String cTime = _CLSR.GetTimeNow(""); todo_task.Task_isComplete = "Y"; _CLSR.Exp_Up(user_id, 10); _context.Update(todo_task); _context.SaveChanges(); return(RedirectToAction("Add_Task", "Todo_Task")); } }
public ActionResult auth_login(string email, string password) { var user = _context.User.Where(i => i.Email == email).SingleOrDefault(); var returnData = ""; if (user != null) { if (password != null) { password = _CLSR.EncodeHMAC_SHA512(password); //Login success if (email.Equals(user.Email) && password.Equals(user.Password) && user.Wrong_Password_Count < 5 && user.User_Status == "Y" && user.User_isLock == "N") { returnData = "AUTH_PASS"; Login(email, password); } //Email==Email, Pass== Pass but Account locked else if (email.Equals(user.Email) && password.Equals(user.Password) && user.Wrong_Password_Count >= 5) { returnData = "AUTH_LOCK"; using (IDbContextTransaction dbTran = _context.Database.BeginTransaction()) { try { user.User_Status = "N"; user.User_isLock = "Y"; _context.Update(user); _context.SaveChanges(); dbTran.Commit(); } catch (Exception e) { TempData["msg"] = _CLSR.GetAlert("Error: " + e.Message); return(RedirectToAction("Index", "Home")); } } } //Email == email but Pass is not and password count 5+ else if (email.Equals(user.Email) && password != user.Password && user.Wrong_Password_Count >= 5) { returnData = "AUTH_LOCK"; } //Email != email, Pass != pass else { returnData = "AUTH_NOT"; using (IDbContextTransaction dbTran = _context.Database.BeginTransaction()) { try { user.Wrong_Password_Count = user.Wrong_Password_Count + 1; _context.Update(user); _context.SaveChanges(); dbTran.Commit(); } catch (Exception e) { TempData["msg"] = _CLSR.GetAlert("Error: " + e.Message); return(RedirectToAction("Index", "Home")); } } } } else { } } else { returnData = "USER_NOT_FOUND"; } return(Json(returnData)); }
//Check Task is over Due Date public void CheckTaskDueDate(int user_id, int hpDown) { String cDate = GetDateNow(""); String cTime = GetTimeNow(""); String TimeNow = cTime.Substring(0, 4); var user = _context.User.Where(i => i.User_ID == user_id).SingleOrDefault(); var tree = _context.Trees.Where(i => i.User_ID == user_id && i.Tree_Status == "S").SingleOrDefault(); //จะหาเจอแค่ Task ที่มีเงื่อนไขตามนี้ ถ้าเช็คครั้งต่อไปจะไม่ลบ ID ซ้ำๆ var task = _context.ToDo_Task.Where(i => i.User_ID == user_id && i.Task_isComplete == "N" && i.Task_isFail == "N" && i.Task_Status == "Y" && i.Task_Parent_ID == 0).ToList(); //check task due date and time foreach (var item in task) { //Task over due date. if (Convert.ToInt32(cDate) > Convert.ToInt32(item.Task_Due_Date)) { tree.Tree_HP = tree.Tree_HP - hpDown; if (tree.Tree_HP <= 0) { tree.Tree_isDead = "Y"; //tree.Tree_Status = "N"; } //Task inComplete item.Task_isFail = "Y"; item.Task_isComplete = "N"; _context.Update(tree); _context.Update(item); _context.SaveChanges(); } //On Date but Time is up. else if (Convert.ToInt32(item.Task_Due_Date) == Convert.ToInt32(cDate) && Convert.ToInt32(TimeNow) > Convert.ToInt32(item.Task_Due_Time)) { tree.Tree_HP = tree.Tree_HP - hpDown; if (tree.Tree_HP <= 0) { tree.Tree_Level = 0; //tree.Tree_Status = "N"; } //Task inComplete item.Task_isFail = "Y"; item.Task_isComplete = "N"; _context.Update(tree); _context.Update(item); _context.SaveChanges(); } else { } } }