Ejemplo n.º 1
0
        private IActionResult OfferNewCompaniesHouseAction(ChangeOrganisationNameViewModel viewModel,
                                                           Organisation organisation)
        {
            viewModel.ParseAndValidateParameters(Request, m => m.AcceptCompaniesHouseName);

            if (viewModel.HasAnyErrors())
            {
                viewModel.Organisation = organisation;
                viewModel.Action       = ManuallyChangeOrganisationNameViewModelActions.OfferNewCompaniesHouseName;
                return(View("OfferNewCompaniesHouseName", viewModel));
            }

            if (viewModel.AcceptCompaniesHouseName == AcceptCompaniesHouseName.Reject)
            {
                return(SendToManualChangePage(organisation));
            }

            viewModel.ParseAndValidateParameters(Request, m => m.Reason);

            if (viewModel.HasAnyErrors())
            {
                viewModel.Organisation = organisation;
                viewModel.Action       = ManuallyChangeOrganisationNameViewModelActions.OfferNewCompaniesHouseName;
                return(View("OfferNewCompaniesHouseName", viewModel));
            }

            viewModel.Organisation = organisation;
            viewModel.Action       = ManuallyChangeOrganisationNameViewModelActions.CheckChangesCoHo;
            return(View("ConfirmNameChange", viewModel));
        }
Ejemplo n.º 2
0
        public IActionResult ChangeNamePost(long id, ChangeOrganisationNameViewModel viewModel)
        {
            // We might need to change the value of Action before we go to the view
            // Apparently this is necessary
            // https://stackoverflow.com/questions/4837744/hiddenfor-not-getting-correct-value-from-view-model
            ModelState.Clear();

            var organisation = SharedBusinessLogic.DataRepository.Get <Organisation>(id);

            switch (viewModel.Action)
            {
            case ManuallyChangeOrganisationNameViewModelActions.OfferNewCompaniesHouseName:
                return(OfferNewCompaniesHouseAction(viewModel, organisation));

            case ManuallyChangeOrganisationNameViewModelActions.ManualChange:
                return(ManualChangeAction(viewModel, organisation));

            case ManuallyChangeOrganisationNameViewModelActions.CheckChangesManual:
            case ManuallyChangeOrganisationNameViewModelActions.CheckChangesCoHo:
                return(CheckChangesAction(viewModel, organisation));

            default:
                throw new ArgumentException("Unknown action in AdminOrganisationNameController.ChangeNamePost");
            }
        }
        private IActionResult OfferNewCompaniesHouseName(Organisation organisation, string nameFromCompaniesHouse)
        {
            var viewModel = new ChangeOrganisationNameViewModel {
                Organisation = organisation,
                Action       = ManuallyChangeOrganisationNameViewModelActions.OfferNewCompaniesHouseName,
                Name         = nameFromCompaniesHouse
            };

            return(View("OfferNewCompaniesHouseName", viewModel));
        }
        private OrganisationName CreateOrganisationNameFromViewModel(ChangeOrganisationNameViewModel viewModel)
        {
            var organisationName = new OrganisationName {
                Name    = viewModel.Name,
                Created = VirtualDateTime.Now,
                Source  = "Service Desk",
            };

            return(organisationName);
        }
Ejemplo n.º 5
0
        private IActionResult SendToManualChangePage(Organisation organisation)
        {
            var viewModel = new ChangeOrganisationNameViewModel
            {
                Organisation = organisation,
                Action       = ManuallyChangeOrganisationNameViewModelActions.ManualChange,
                Name         = organisation.OrganisationName
            };

            return(View("ManuallyChangeOrganisationName", viewModel));
        }
Ejemplo n.º 6
0
        private IActionResult CheckChangesAction(ChangeOrganisationNameViewModel viewModel, Organisation organisation)
        {
            if (viewModel.Action == ManuallyChangeOrganisationNameViewModelActions.CheckChangesManual)
            {
                OptOrganisationOutOfCompaniesHouseUpdates(organisation);
            }

            SaveChangesAndAuditAction(viewModel, organisation);

            return(View("SuccessfullyChangedOrganisationName", organisation));
        }
Ejemplo n.º 7
0
        private IActionResult ManualChangeAction(ChangeOrganisationNameViewModel viewModel, Organisation organisation)
        {
            viewModel.ParseAndValidateParameters(Request, m => m.Name);
            viewModel.ParseAndValidateParameters(Request, m => m.Reason);

            if (viewModel.HasAnyErrors())
            {
                viewModel.Organisation = organisation;
                viewModel.Action       = ManuallyChangeOrganisationNameViewModelActions.ManualChange;
                return(View("ManuallyChangeOrganisationName", viewModel));
            }

            viewModel.Organisation = organisation;
            viewModel.Action       = ManuallyChangeOrganisationNameViewModelActions.CheckChangesManual;
            return(View("ConfirmNameChange", viewModel));
        }
Ejemplo n.º 8
0
        private void SaveChangesAndAuditAction(ChangeOrganisationNameViewModel viewModel, Organisation organisation)
        {
            var oldName = organisation.OrganisationName;

            var newOrganisationName = CreateOrganisationNameFromViewModel(viewModel);

            AddNewNameToOrganisation(newOrganisationName, organisation);

            SharedBusinessLogic.DataRepository.SaveChangesAsync().Wait();

            auditLogger.AuditChangeToOrganisation(
                this,
                AuditedAction.AdminChangeOrganisationName,
                organisation,
                new
            {
                viewModel.Action,
                OldName   = oldName,
                NewName   = newOrganisationName.Name,
                NewNameId = newOrganisationName.OrganisationNameId,
                viewModel.Reason
            });
        }
        private void SaveChangesAndAuditAction(ChangeOrganisationNameViewModel viewModel, Organisation organisation)
        {
            string oldName = organisation.OrganisationName;

            OrganisationName newOrganisationName = CreateOrganisationNameFromViewModel(viewModel);

            AddNewNameToOrganisation(newOrganisationName, organisation);

            dataRepository.SaveChanges();

            auditLogger.AuditChangeToOrganisation(
                AuditedAction.AdminChangeOrganisationName,
                organisation,
                new
            {
                Action    = viewModel.Action,
                OldName   = oldName,
                NewName   = newOrganisationName.Name,
                NewNameId = newOrganisationName.OrganisationNameId,
                Reason    = viewModel.Reason
            },
                User);
        }