public IActionResult EditKeyHash(int id)
        {
            var apiAccessKeyModel = m_apiAccessKeyManager.FindApiAccessKeyById(id);

            if (apiAccessKeyModel.HasError)
            {
                ModelState.AddModelError(apiAccessKeyModel.Error.Message);
                return(View());
            }

            var apiAccessKeyViewModel = Mapper.Map <ApiAccessKeyHashViewModel>(apiAccessKeyModel.Result);
            var viewModel             = ViewModelBuilder.BuildApiAccessKeyHashViewModel(ModelState, apiAccessKeyViewModel);

            return(View(viewModel));
        }
        public ActionResult EditKeyHash(int id, EditableApiAccessKeyHashViewModel editableViewModel)
        {
            if (ModelState.IsValid)
            {
                var hash = m_hashManager.GenerateHash(editableViewModel.Value, editableViewModel.Algorithm);

                var result = m_apiAccessKeyManager.UpdateApiAccessKeyHash(id, hash, editableViewModel.Algorithm);

                if (!result.HasError)
                {
                    return(RedirectToAction(nameof(View), new { id }));
                }

                ModelState.AddModelError(result.Error.Message);
            }

            var viewModel = ViewModelBuilder.BuildApiAccessKeyHashViewModel(ModelState, editableViewModel);

            return(View(viewModel));
        }