Esempio n. 1
0
        public async Task Arrange()
        {
            Sut = new RegisterController(ControllerSession.Object, ApiClient.Object, ApplyApiClient.Object, ContactsApiClient.Object, StandardServiceClient.Object, Env.Object);

            var actionResult = await Sut.ViewOrganisation(OrganisationOneOrganisationId);

            var result = actionResult as ViewResult;

            _viewModelResponse = result.Model as RegisterViewAndEditOrganisationViewModel;
        }
        public async Task Setup(int approvedStandardsPerPage)
        {
            Sut = new RegisterController(ControllerSession.Object, ApiClient.Object, ApplyApiClient.Object, ContactsApiClient.Object, Env.Object);

            Sut.ChangeStandardsPerPageViewOrganisationApprovedStandards(OrganisationOneOrganisationId, approvedStandardsPerPage);

            var viewActionResult = await Sut.ViewOrganisation(OrganisationOneOrganisationId);

            var result = viewActionResult as ViewResult;

            _viewModelResponse = result.Model as RegisterViewAndEditOrganisationViewModel;
        }
Esempio n. 3
0
        public async Task Arrange()
        {
            Sut = new RegisterController(ControllerSession.Object, ApiClient.Object, ApplyApiClient.Object, ContactsApiClient.Object, Env.Object);

            Sut.SortViewOrganisationApprovedStandards(OrganisationOneOrganisationId,
                                                      ControllerSession.Object.Register_ApprovedStandards.SortColumn, SortOrder.Desc);

            var viewActionResult = await Sut.ViewOrganisation(OrganisationOneOrganisationId);

            var result = viewActionResult as ViewResult;

            _viewModelResponse = result.Model as RegisterViewAndEditOrganisationViewModel;
        }
Esempio n. 4
0
        private async Task GatherOrganisationContacts(RegisterViewAndEditOrganisationViewModel viewAndEditModel)
        {
            viewAndEditModel.Contacts = await _contactsApiClient.GetAllContactsForOrganisation(viewAndEditModel.OrganisationId, false);

            viewAndEditModel.Users = await _contactsApiClient.GetAllContactsForOrganisationIncludePrivileges(viewAndEditModel.OrganisationId, true);

            var contactsWhoCanBePrimary = await _contactsApiClient.GetAllContactsWhoCanBePrimaryForOrganisation(viewAndEditModel.OrganisationId);

            if (viewAndEditModel.PrimaryContact != null && contactsWhoCanBePrimary.Any(x => x.Username == viewAndEditModel.PrimaryContact))
            {
                var primaryContact = contactsWhoCanBePrimary.First(x => x.Username == viewAndEditModel.PrimaryContact);
                viewAndEditModel.PrimaryContactName = primaryContact.DisplayName;
                if (primaryContact.Username != null)
                {
                    viewAndEditModel.PrimaryContactName = $"{viewAndEditModel.PrimaryContactName} ({primaryContact.Username})";
                }
            }
        }
Esempio n. 5
0
        private async Task GatherOrganisationStandards(RegisterViewAndEditOrganisationViewModel viewAndEditModel, bool paged = true)
        {
            var organisationStandards = await _apiClient.GetEpaOrganisationStandards(viewAndEditModel.OrganisationId);

            if (organisationStandards != null)
            {
                viewAndEditModel.RegisterViewOrganisationStandardsViewModel = new RegisterViewOrganisationStandardsViewModel(nameof(RegisterController).RemoveController());

                viewAndEditModel.RegisterViewOrganisationStandardsViewModel.OrganisationStandards.OrganisationId      = viewAndEditModel.OrganisationId;
                viewAndEditModel.RegisterViewOrganisationStandardsViewModel.OrganisationStandards.PaginationViewModel = await GatherOrganisationStandards(viewAndEditModel.OrganisationId, paged);

                viewAndEditModel.RegisterViewOrganisationStandardsViewModel.InProgressApplications.OrganisationId      = viewAndEditModel.OrganisationId;
                viewAndEditModel.RegisterViewOrganisationStandardsViewModel.InProgressApplications.PaginationViewModel = await GatherOrganisationStandardApplications(viewAndEditModel.OrganisationId, ApplicationReviewStatus.InProgress);

                viewAndEditModel.RegisterViewOrganisationStandardsViewModel.FeedbackApplications.OrganisationId      = viewAndEditModel.OrganisationId;
                viewAndEditModel.RegisterViewOrganisationStandardsViewModel.FeedbackApplications.PaginationViewModel = await GatherOrganisationStandardApplications(viewAndEditModel.OrganisationId, ApplicationReviewStatus.HasFeedback);
            }
        }
Esempio n. 6
0
        private async Task <RegisterViewAndEditOrganisationViewModel> MapOrganisationModel(EpaOrganisation organisation, bool pageStandards)
        {
            var notSetDescription = "Not set";
            var viewModel         = new RegisterViewAndEditOrganisationViewModel
            {
                Id                 = organisation.Id,
                OrganisationId     = organisation.OrganisationId,
                Name               = organisation.Name,
                Ukprn              = organisation.Ukprn,
                OrganisationTypeId = organisation.OrganisationTypeId,
                OrganisationType   = notSetDescription,
                LegalName          = organisation.OrganisationData?.LegalName,
                TradingName        = organisation.OrganisationData?.TradingName,
                Email              = organisation.OrganisationData?.Email,
                PhoneNumber        = organisation.OrganisationData?.PhoneNumber,
                WebsiteLink        = organisation.OrganisationData?.WebsiteLink,
                Address1           = organisation.OrganisationData?.Address1,
                Address2           = organisation.OrganisationData?.Address2,
                Address3           = organisation.OrganisationData?.Address3,
                Address4           = organisation.OrganisationData?.Address4,
                Postcode           = organisation.OrganisationData?.Postcode,
                PrimaryContact     = organisation.PrimaryContact,
                PrimaryContactName = organisation.PrimaryContactName ?? notSetDescription,
                CharityNumber      = organisation.OrganisationData?.CharityNumber,
                CompanyNumber      = organisation.OrganisationData?.CompanyNumber,
                Status             = organisation.Status,
                FinancialDueDate   = organisation.OrganisationData?.FHADetails?.FinancialDueDate,
                FinancialExempt    = organisation.OrganisationData?.FHADetails?.FinancialExempt
            };

            viewModel.OrganisationTypes = _apiClient.GetOrganisationTypes().Result;

            if (viewModel.OrganisationTypeId != null)
            {
                var organisationTypes = viewModel.OrganisationTypes;
                viewModel.OrganisationType = organisationTypes.FirstOrDefault(x => x.Id == viewModel.OrganisationTypeId)?.Type;
            }

            await GatherOrganisationContacts(viewModel);
            await GatherOrganisationStandards(viewModel, pageStandards);

            return(viewModel);
        }
Esempio n. 7
0
        public async Task <IActionResult> EditOrganisation(RegisterViewAndEditOrganisationViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                viewModel.OrganisationTypes = await _apiClient.GetOrganisationTypes();
                await GatherOrganisationContacts(viewModel);
                await GatherOrganisationStandards(viewModel, false);

                return(View(viewModel));
            }

            var updateOrganisationRequest = new UpdateEpaOrganisationRequest
            {
                Name               = viewModel.Name,
                OrganisationId     = viewModel.OrganisationId,
                Ukprn              = viewModel.Ukprn,
                OrganisationTypeId = viewModel.OrganisationTypeId,
                LegalName          = viewModel.LegalName,
                TradingName        = viewModel.TradingName,
                Email              = viewModel.Email,
                PhoneNumber        = viewModel.PhoneNumber,
                WebsiteLink        = viewModel.WebsiteLink,
                Address1           = viewModel.Address1,
                Address2           = viewModel.Address2,
                Address3           = viewModel.Address3,
                Address4           = viewModel.Address4,
                Postcode           = viewModel.Postcode,
                Status             = viewModel.Status,
                ActionChoice       = viewModel.ActionChoice,
                CompanyNumber      = viewModel.CompanyNumber,
                CharityNumber      = viewModel.CharityNumber,
                FinancialDueDate   = viewModel.FinancialDueDate,
                FinancialExempt    = viewModel.FinancialExempt
            };

            await _apiClient.UpdateEpaOrganisation(updateOrganisationRequest);

            return(RedirectToAction("ViewOrganisation", "register", new { organisationId = viewModel.OrganisationId }));
        }