public ActionResult EditAccount(int id, bool IsConfirmed) { //改成串WebApi取得帳號資訊 var UserInfo = _webApiHelper.getData("GetAccount", id.ToString()); var UserInfoObj = ObjectParserHelper.JsonToObject<AccountModels>(UserInfo); var accountObj = new AccountModels() { UserID = id, UserName = UserInfoObj.UserName, PassWord = UserInfoObj.PassWord, IsConfirmed = IsConfirmed }; bool changeAccountSucceeded = false; //改成串WebApi 修改密碼 bool.TryParse(_webApiHelper.PostData(Method.PUT, accountObj, "http://localhost:1322/api/Account/PutAccount/" + id.ToString()), out changeAccountSucceeded); return RedirectToAction("Manage"); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // 嘗試註冊使用者 try { //改寫為串WEBAPI新增帳戶 //POST 傳入參數 var accountObj = new AccountModels() { UserName = model.UserName, PassWord = model.Password, IsConfirmed = true }; //抓出資料庫資料 var UserInfo = _webApiHelper.getData("GetAccountByName", model.UserName); if (UserInfo != "null") { // 如果執行到這裡,發生某項失敗,則重新顯示表單 ModelState.AddModelError("", "您所輸入的使用者名稱已存在。"); } else { var accountData = _webApiHelper.PostData(Method.POST, accountObj, "http://localhost:1322/api/Account/PostAccount/"); var accountJson = ObjectParserHelper.JsonToObject<LoginModel>(accountData); Session["UserName"] = accountJson.UserName; return RedirectToAction("Index", "Home"); } } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // 如果執行到這裡,發生某項失敗,則重新顯示表單 return View(model); }
public ActionResult Manage(LocalPasswordModel model) { //改成串WebApi取得帳號資訊 var UserInfo = _webApiHelper.getData("GetAccountByName", Session["UserName"].ToString()); var UserInfoObj = ObjectParserHelper.JsonToObject<AccountModels>(UserInfo); ViewBag.ReturnUrl = Url.Action("Manage"); if (ModelState.IsValid) { // 在特定失敗狀況下,ChangePassword 會擲回例外狀況,而非傳回 false。 bool checkPassowrd; bool changePasswordSucceeded =false; //先驗證舊密碼是否正確 if (UserInfoObj.PassWord == model.OldPassword) { checkPassowrd = true; } else { checkPassowrd = false; } if (checkPassowrd) { try { //POST 傳入參數id,account var accountObj = new AccountModels() { UserID = UserInfoObj.UserID, UserName = UserInfoObj.UserName, PassWord = model.NewPassword, IsConfirmed = UserInfoObj.IsConfirmed }; //改成串WebApi 修改密碼 bool.TryParse(_webApiHelper.PostData(Method.PUT, accountObj, "http://localhost:1322/api/Account/PutAccount/" + UserInfoObj.UserID), out changePasswordSucceeded); } catch (Exception) { changePasswordSucceeded = false; } if (changePasswordSucceeded) { return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess }); } else { ModelState.AddModelError("", "新密碼無效,修改密碼失敗。"); } } else { ModelState.AddModelError("", "目前密碼不正確。"); } } // 如果執行到這裡,發生某項失敗,則重新顯示表單 return View(model); }