コード例 #1
0
        public ActionResult Create(RequestType requestType)
        {
            if (ViewData.ModelState.IsValid)
            {
                requestType.LastUpdateTimeStamp = DateTime.Now;
                requestType.LastUpdateUser = GetCurrentUser().Id;
                ActionConfirmation saveOrUpdateConfirmation =
                    _requestTypeManagementService.SaveOrUpdate(requestType);

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

            RequestTypeFormViewModel viewModel =
                _requestTypeManagementService.CreateFormViewModelFor(requestType);
            return View(viewModel);
        }
コード例 #2
0
ファイル: RequestTypeTests.cs プロジェクト: ryantornberg/wrms
        public void CanCompareRequestTypes()
        {
            var instance = new RequestType();
            instance.Code = "ABC";
            instance.LongDesc = "Description for type";

            var instanceToCompareTo = new RequestType();
            instanceToCompareTo.Code = "ABC";
            instanceToCompareTo.LongDesc = "Description for type";

            instance.ShouldEqual(instanceToCompareTo);
        }
コード例 #3
0
        public void CanCreateValidRequestTypeFromForm()
        {
            // Establish Context
            var requestTypeFromForm = new RequestType();
            var testUser = PersonInstanceFactory.CreateValidTransientPerson();
            testUser.SetAssignedIdTo(1);

            _authenticationProvider.Expect(r => r.GetLoggedInUser()).Return("testuser");
            _personManagementService.Expect(r => r.GetByUserName(Arg<string>.Is.Anything)).Return(testUser);
            _requestTypeManagementService.Expect(r => r.SaveOrUpdate(requestTypeFromForm))
                .Return(ActionConfirmation.CreateSuccessConfirmation("saved"));

            // Act
            RedirectToRouteResult redirectResult =
                _requestTypesController.Create(requestTypeFromForm)
                    .AssertActionRedirect().ToAction("Index");

            // Assert
            _requestTypesController.TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()].ToString()
                .ShouldEqual("saved");
        }
コード例 #4
0
        public ActionConfirmation SaveOrUpdate(RequestType requestType)
        {
            if (requestType.IsValid())
            {
                _requestTypeRepository.SaveOrUpdate(requestType);

                ActionConfirmation saveOrUpdateConfirmation = ActionConfirmation.CreateSuccessConfirmation(
                    "The requestType was successfully saved.");
                saveOrUpdateConfirmation.Value = requestType;

                return saveOrUpdateConfirmation;
            }
            else
            {
                _requestTypeRepository.DbContext.RollbackTransaction();

                return ActionConfirmation.CreateFailureConfirmation(
                    "The requestType could not be saved due to missing or invalid information.");
            }
        }
コード例 #5
0
 public RequestTypeFormViewModel CreateFormViewModelFor(RequestType requestType)
 {
     RequestTypeFormViewModel viewModel = CreateFormViewModel();
     viewModel.RequestType = requestType;
     return viewModel;
 }
コード例 #6
0
 private void TransferFormValuesTo(RequestType requestTypeToUpdate, RequestType requestTypeFromForm)
 {
     requestTypeToUpdate.Code = requestTypeFromForm.Code;
     requestTypeToUpdate.LongDesc = requestTypeFromForm.LongDesc;
     requestTypeToUpdate.LastUpdateTimeStamp = requestTypeFromForm.LastUpdateTimeStamp;
     requestTypeToUpdate.LastUpdateUser = requestTypeFromForm.LastUpdateUser;
 }
コード例 #7
0
        public ActionConfirmation UpdateWith(RequestType requestTypeFromForm, int idOfRequestTypeToUpdate)
        {
            RequestType requestTypeToUpdate =
                _requestTypeRepository.Get(idOfRequestTypeToUpdate);
            TransferFormValuesTo(requestTypeToUpdate, requestTypeFromForm);

            if (requestTypeToUpdate.IsValid())
            {
                ActionConfirmation updateConfirmation = ActionConfirmation.CreateSuccessConfirmation(
                    "The requestType was successfully updated.");
                updateConfirmation.Value = requestTypeToUpdate;

                return updateConfirmation;
            }
            else
            {
                _requestTypeRepository.DbContext.RollbackTransaction();

                return ActionConfirmation.CreateFailureConfirmation(
                    "The requestType could not be saved due to missing or invalid information.");
            }
        }
コード例 #8
0
        public void CannotUpdateInvalidRequestTypeFromForm()
        {
            // Establish Context
            var requestTypeFromForm = new RequestType();
            var viewModelToExpect = new RequestTypeFormViewModel();
            var testUser = PersonInstanceFactory.CreateValidTransientPerson();
            testUser.SetAssignedIdTo(1);

            _authenticationProvider.Expect(r => r.GetLoggedInUser()).Return("testuser");
            _personManagementService.Expect(r => r.GetByUserName(Arg<string>.Is.Anything)).Return(testUser);
            _requestTypeManagementService.Expect(r => r.UpdateWith(requestTypeFromForm, 0))
                .Return(ActionConfirmation.CreateFailureConfirmation("not updated"));
            _requestTypeManagementService.Expect(r => r.CreateFormViewModelFor(requestTypeFromForm))
                .Return(viewModelToExpect);

            // Act
            ViewResult result =
                _requestTypesController.Edit(requestTypeFromForm).AssertViewRendered();

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as RequestTypeFormViewModel).ShouldNotBeNull();
        }