public void CanUpdateWithValidRequestTypeFromForm()
        {
            // Establish Context
            RequestType validRequestTypeFromForm =
                RequestTypeInstanceFactory.CreateValidTransientRequestType();

            // Intentionally empty to ensure successful transfer of values
            var requestTypeFromDb = new RequestType();

            _requestTypeRepository.Expect(r => r.Get(1))
            .Return(requestTypeFromDb);

            // Act
            ActionConfirmation confirmation =
                _requestTypeManagementService.UpdateWith(validRequestTypeFromForm, 1);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeTrue();
            confirmation.Value.ShouldNotBeNull();
            confirmation.Value.ShouldEqual(requestTypeFromDb);
            confirmation.Value.ShouldEqual(validRequestTypeFromForm);
        }
        public ActionResult Edit(RequestType requestType)
        {
            if (ViewData.ModelState.IsValid)
            {
                requestType.LastUpdateTimeStamp = DateTime.Now;
                requestType.LastUpdateUser      = GetCurrentUser().Id;
                ActionConfirmation updateConfirmation =
                    _requestTypeManagementService.UpdateWith(requestType, requestType.Id);

                if (updateConfirmation.WasSuccessful)
                {
                    TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] =
                        updateConfirmation.Message;
                    return(RedirectToAction("Index"));
                }
            }

            RequestTypeFormViewModel viewModel =
                _requestTypeManagementService.CreateFormViewModelFor(requestType);

            return(View(viewModel));
        }