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; }
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; }
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})"; } } }
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); } }
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); }
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 })); }