Exemple #1
0
        public ActionResult Create(Org org)
        {
            try
            {
                if (ViewData.ModelState.IsValid)
                {
                    org.LastUpdateTimeStamp = DateTime.Now;
                    org.LastUpdateUser = GetCurrentUser().Id;
                    ActionConfirmation saveOrUpdateConfirmation =
                        _orgManagementService.SaveOrUpdate(org);

                    if (saveOrUpdateConfirmation.WasSuccessful)
                    {
                        TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] =
                            saveOrUpdateConfirmation.Message;
                        return RedirectToAction("Search");
                    }
                }
                else
                {
                    org = null;
                }
            }
            catch (PreconditionException pce)
            {
                TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] =
                    pce.Message;
            }
            OrgFormViewModel viewModel =
                _orgManagementService.CreateFormViewModelFor(org);
            return View(viewModel);
        }
Exemple #2
0
        public void CanCompareOrgs()
        {
            var instance = new Org();
            instance.Code = "ABCD";
            instance.LongDesc = "Description for Agency ABC";

            var instanceToCompareTo = new Org();
            instanceToCompareTo.Code = "ABCD";
            instanceToCompareTo.LongDesc = "Description for Agency ABC";

            instance.ShouldEqual(instanceToCompareTo);
        }
        public void CanDeleteOrg()
        {
            // Establish Context
            var orgToDelete = new Org();

            _orgRepository.Expect(r => r.Get(1))
                .Return(orgToDelete);

            // Act
            ActionConfirmation confirmation =
                _orgManagementService.Delete(1);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeTrue();
            confirmation.Value.ShouldBeNull();
        }
        public void CanCreateValidOrgFromForm()
        {
            // Establish Context
            var orgFromForm = new Org();

            var testUser = new Person();
            testUser.SetAssignedIdTo(1);
            _authenticationProvider.Expect(r => r.GetLoggedInUser()).Return("user1");
            _personManagementService.Expect(r => r.GetByUserName("user1")).Return(testUser);

            _orgManagementService.Expect(r => r.SaveOrUpdate(orgFromForm))
                .Return(ActionConfirmation.CreateSuccessConfirmation("saved"));

            // Act
            RedirectToRouteResult redirectResult =
                _orgsController.Create(orgFromForm)
                    .AssertActionRedirect().ToAction("Search");

            // Assert
            _orgsController.TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()].ToString()
                .ShouldEqual("saved");
        }
        public void CannotUpdateInvalidOrgFromForm()
        {
            // Establish Context
            var orgFromForm = new Org();
            var viewModelToExpect = new OrgFormViewModel();

            var testUser = new Person();
            testUser.SetAssignedIdTo(1);
            _authenticationProvider.Expect(r => r.GetLoggedInUser()).Return("user1");
            _personManagementService.Expect(r => r.GetByUserName("user1")).Return(testUser);

            _orgManagementService.Expect(r => r.UpdateWith(orgFromForm, 0))
                .Return(ActionConfirmation.CreateFailureConfirmation("not updated"));
            _orgManagementService.Expect(r => r.CreateFormViewModelFor(orgFromForm))
                .Return(viewModelToExpect);

            // Act
            ViewResult result =
                _orgsController.Edit(orgFromForm).AssertViewRendered();

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as OrgFormViewModel).ShouldNotBeNull();
        }
        public void CanUpdateWithValidOrgFromForm()
        {
            // Establish Context
            Org validOrgFromForm =
                OrgInstanceFactory.CreateValidTransientOrg();

            // Intentionally empty to ensure successful transfer of values
            var orgFromDb = new Org();

            _orgRepository.Expect(r => r.Get(1))
                .Return(orgFromDb);

            // Act
            ActionConfirmation confirmation =
                _orgManagementService.UpdateWith(validOrgFromForm, 1);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeTrue();
            confirmation.Value.ShouldNotBeNull();
            confirmation.Value.ShouldEqual(orgFromDb);
            confirmation.Value.ShouldEqual(validOrgFromForm);
        }
        public void CannotUpdateWithInvalidOrgFromForm()
        {
            // Establish Context
            var invalidOrgFromForm = new Org();

            // Intentionally empty to ensure successful transfer of values
            var orgFromDb = new Org();

            _orgRepository.Expect(r => r.Get(1))
                .Return(orgFromDb);

            // Act
            ActionConfirmation confirmation =
                _orgManagementService.UpdateWith(invalidOrgFromForm, 1);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeFalse();
            confirmation.Value.ShouldBeNull();
        }
        public void CannotSaveOrUpdateInvalidOrg()
        {
            // Establish Context
            var invalidOrg = new Org();

            // Act
            ActionConfirmation confirmation =
                _orgManagementService.SaveOrUpdate(invalidOrg);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeFalse();
            confirmation.Value.ShouldBeNull();
        }
 public OrgFormViewModel CreateFormViewModelFor(Org org)
 {
     OrgFormViewModel viewModel = CreateFormViewModel();
     viewModel.Org = org;
     return viewModel;
 }
 private void TransferFormValuesTo(Org orgToUpdate, Org orgFromForm)
 {
     orgToUpdate.Code = orgFromForm.Code;
     orgToUpdate.AgencyId = orgFromForm.AgencyId;
     //orgToUpdate.Agency = orgFromForm.Agency;
     orgToUpdate.LongDesc = orgFromForm.LongDesc;
     orgToUpdate.LastUpdateUser = orgFromForm.LastUpdateUser;
     orgToUpdate.LastUpdateTimeStamp = orgFromForm.LastUpdateTimeStamp;
 }
 protected void ValidateOrg(Org org)
 {
     var example = new Org();
     example.Code = org.Code;
     Check.Require(_orgRepository.GetCountByExample(example, org.Id) == 0,
                   "An Organization with this code already exist.");
 }
        public ActionConfirmation UpdateWith(Org orgFromForm, int idOfOrgToUpdate)
        {
            Org orgToUpdate =
                _orgRepository.Get(idOfOrgToUpdate);
            ValidateOrg(orgFromForm);
            TransferFormValuesTo(orgToUpdate, orgFromForm);

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

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

                return ActionConfirmation.CreateFailureConfirmation(
                    "The org could not be saved due to missing or invalid information.");
            }
        }
        public ActionConfirmation SaveOrUpdate(Org org)
        {
            if (org.IsValid())
            {
                ValidateOrg(org);
                _orgRepository.SaveOrUpdate(org);

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

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

                return ActionConfirmation.CreateFailureConfirmation(
                    "The org could not be saved due to missing or invalid information.");
            }
        }