public ActionResult ChangePass()
        {
            var viewModel = new AdminChangePass
            {
                UserName = LoginUser.UserName,
            };

            return(View(viewModel));
        }
        public ActionResult ChangePass(AdminChangePass viewModel)
        {
            if (ModelState.IsValid)
            {
                // Check password is match
                if (viewModel.NewPassword != viewModel.NewPassword2)
                {
                    ModelState.AddModelError("NewPassword2", "Nhập lại mật khẩu mới không khớp");
                    return(View(viewModel));
                }

                if (viewModel.OldPassword == viewModel.NewPassword)
                {
                    ModelState.AddModelError("NewPassword", "Mật khẩu mới không được trùng với mật khẩu cũ");
                    return(View(viewModel));
                }

                using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
                {
                    try
                    {
                        var ischange = MembershipService.ChangePassword(LoginUser.UserName, viewModel.OldPassword, viewModel.NewPassword);
                        if (!ischange)
                        {
                            // Rollback transaction
                            unitOfWork.Rollback();

                            ModelState.AddModelError("OldPassword", "Sai mật khẩu");
                            return(View(viewModel));
                        }

                        unitOfWork.Commit();
                        // We use temp data because we are doing a redirect
                        TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel
                        {
                            Message     = "Đổi mật khẩu thành công!",
                            MessageType = GenericMessages.success
                        };

                        return(RedirectToAction("index", "Admin"));
                    }
                    catch (Exception ex)
                    {
                        unitOfWork.Rollback();
                        LoggingService.Error(ex.Message);
                        ModelState.AddModelError("", "Có lỗi xảy ra khi đổi mật khẩu!");
                    }
                }
            }

            return(View(viewModel));
        }