Example #1
0
        public void CanUpdateWithValidApplicationFromForm()
        {
            // Establish Context
            Application validApplicationFromForm =
                ApplicationInstanceFactory.CreateValidTransientApplication();
            var validPerson = PersonInstanceFactory.CreateValidTransientPerson();

            validApplicationFromForm.LastUpdateUser = 1;
            validPerson.RoleId = 2;

            // Intentionally empty to ensure successful transfer of values
            var applicationFromDb = new Application {
                ApplicationName = "Application Name 1", SupportTeamId = 1
            };

            _personManagementService.Expect(r => r.Get(Arg <int> .Is.Anything)).Return(validPerson);

            _applicationRepository.Expect(r => r.Get(Arg <int> .Is.Anything))
            .Return(applicationFromDb);
            _personManagementService.Expect(r => r.Get(Arg <int> .Is.Anything)).Return(validPerson);

            // Act
            ActionConfirmation confirmation =
                _applicationManagementService.UpdateWith(validApplicationFromForm, 1);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeTrue();
            confirmation.Value.ShouldNotBeNull();
            confirmation.Value.ShouldEqual(applicationFromDb);
            confirmation.Value.ShouldEqual(validApplicationFromForm);
        }
        public ActionResult Edit(Application application)
        {
            if (ViewData.ModelState.IsValid)
            {
                application.LastUpdateTimeStamp = DateTime.Now;
                application.LastUpdateUser      = GetCurrentUser().Id;
                ActionConfirmation updateConfirmation =
                    _applicationManagementService.UpdateWith(application, application.Id);

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

            ApplicationFormViewModel viewModel =
                _applicationManagementService.CreateFormViewModelFor(application);

            return(View(viewModel));
        }