Exemplo n.º 1
0
        /// <summary>修改使用者密碼</summary>
        public static bool EditPassword(PasswordEditViewModel m)
        {
            //找出此使用者資訊
            DataTable dt = UserDataAccess.GetUserList(m.ID, null, null, null, null, new Pages());

            if (dt.Rows.Count > 0)
            {
                //驗証
                string strOldPwd  = dt.Rows[0]["Password"].ToString();
                string strOldPwd1 = Util.MD5(m.Password, 32);
                if (strOldPwd1 != strOldPwd)
                {
                    throw new Exception("原密碼不相符");
                }

                //開啟資料庫存取物件
                using (var db = new DataBase.DataBase(Definition.Conn))
                {
                    //資料庫參數
                    var param = new DataBase.SqlParams();
                    param.Add("ID", m.ID);
                    param.Add("NewPassword", Util.MD5(m.NewPassword, 32));
                    db.SqlParams = param;

                    //異動資料
                    db.StrSQL = "UPDATE [User] SET Password = @NewPassword WHERE ID = @ID";
                    int iResult = db.ExecuteSQL();
                    return(iResult > 0);
                }
            }
            else
            {
                throw new Exception("無此使用者相關資訊");
            }
        }
Exemplo n.º 2
0
        public JsonResult Edit(PasswordEditViewModel m)
        {
            Result r = new Result();

            try
            {
                //修改密碼
                DataAccess.PasswordDataAccess.EditPassword(m);
                r.Set(ResultCode.Success, "作業成功,請用新密碼重新登入");
            }
            catch (Exception e)
            {
                r.Set(ResultCode.Error, e.Message);
            }

            return(Json(r, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> UserChangePassword([FromRoute] int id, [FromBody] PasswordEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (id != model.Id)
            {
                return(BadRequest());
            }
            try
            {
                var currentUser = await _userManager.GetUserAsync(User);

                var user = await _userManager.FindByIdAsync(id.ToString());

                if (user != null)
                {
                    var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                    var result = await _userManager.ResetPasswordAsync(user, token, model.NewPassword);

                    if (result.Succeeded)
                    {
                        // log
                        using (StreamWriter sw = System.IO.File.AppendText(Constants.Log.log_path))
                        {
                            sw.WriteLine("Datetime: " + datetime.ToString("dd/MM/yyyy HH:mm:ss") + " IP: " + ip + " Email: " + currentUser.Email + " Nombre: " + currentUser.nombre_usu + " Usuario actualizado.");
                        }

                        return(Json(new { success = true, message = "Usuario actualizado con éxito." }));
                    }
                    else
                    {
                        return(Json(new { success = false, message = "Usuario actualizado falla." }));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, message = ex.Message }));
            }
            return(Json(new { success = false, message = ManageMessageId.Error }));
        }
Exemplo n.º 4
0
        public ActionResult Edit()
        {
            try
            {
                //使用者登入物件
                var ui = Definition.UserInfo;

                //設定ViewModel
                var m = new PasswordEditViewModel();
                m.ID      = ui.ID;
                m.Account = ui.Account;
                m.Email   = ui.Email;

                return(View(m));
            }
            catch
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
Exemplo n.º 5
0
 private void InitViewModel(PwdDataDto data)
 {
     viewModel      = App.Locator.GetViewModel <PasswordEditViewModel, PwdDataDto>(data);
     BindingContext = viewModel;
 }