public async Task <IActionResult> UpdateOrganisationProviderType() { var searchModel = _sessionService.GetSearchResults(); var model = new UpdateOrganisationProviderTypeViewModel { LegalName = searchModel.SelectedResult.LegalName, OrganisationId = searchModel.SelectedResult.Id, ProviderTypeId = searchModel.SelectedResult.ProviderType.Id, OrganisationTypeId = searchModel.SelectedResult.OrganisationType.Id }; var providerTypes = await _apiClient.GetProviderTypes(); model.ProviderTypes = providerTypes; var organisationTypes = new Dictionary <int, IEnumerable <OrganisationType> >(); foreach (var providerType in providerTypes) { var organisationTypesByProvider = await _apiClient.GetOrganisationTypes(providerType.Id); organisationTypes.Add(providerType.Id, organisationTypesByProvider); } model.OrganisationTypesByProviderType = organisationTypes; return(View("~/Views/Roatp/UpdateOrganisationProviderType.cshtml", model)); }
public async Task <IActionResult> UpdateProviderType(UpdateOrganisationProviderTypeViewModel model) { if (!ModelState.IsValid) { return(View("~/Views/Roatp/UpdateOrganisationProviderType.cshtml", model)); } model.UpdatedBy = HttpContext.User.UserDisplayName(); var searchModel = _sessionService.GetSearchResults(); var previousProviderTypeId = searchModel.SelectedResult.ProviderType.Id; var previousOrganisationTypeId = searchModel.SelectedResult.OrganisationType.Id; if (model.CanChangeOrganisationTypeForThisProvider(previousProviderTypeId)) { switch (model.ProviderTypeId) { case 1: model.OrganisationTypeId = model.OrganisationTypeIdMain; break; case 2: model.OrganisationTypeId = model.OrganisationTypeIdEmployer; break; case 3: model.OrganisationTypeId = model.OrganisationTypeIdSupporting; break; } } else { model.OrganisationTypeId = previousOrganisationTypeId; } var request = Mapper.Map <UpdateOrganisationProviderTypeRequest>(model); var result = await _apiClient.UpdateOrganisationProviderType(request); if (result) { return(await RefreshSearchResults()); } return(View("~/Views/Roatp/UpdateOrganisationProviderType.cshtml", model)); }