private async Task AccessOrganization(string orgName) { IsBusy = true; try { var organization = await _organizationService.VerifyOrganization(orgName); if (organization?.StatusCode == 200) { if (!organization.RequiresAccessCode) { AppSettings.OrganizationId = organization.OrganizationID; AppSettings.UserAndOrganizationIds = $"{AppSettings.UserId}-{AppSettings.OrganizationId}"; RaisePropertyChanged(nameof(RegisterUser)); await NavigationService.NavigateAsync <SelectPositionViewModel, int>(organization.OrganizationID); } else { IsBusy = false; var result = await _dialogService.ShowTextInput(OrganizationLabel, organization.Name, string.Empty, EnterButton, AccessHint, InputType.Text); if (!string.IsNullOrEmpty(result)) { var orgCode = new OrganizationRequestModel(orgName, result); var res = await _organizationService.AccessCodeOrganization(orgCode); if (res.StatusCode == 200) { await NavigationService.NavigateAsync <SelectPositionViewModel, int>(organization.OrganizationID); } else { _dialogService.ShowAlert(_statusCodeService.GetStatusCodeDescription(res.StatusCode), AlertType.Error); } } } } else { _dialogService.ShowAlert(_statusCodeService.GetStatusCodeDescription(organization?.StatusCode), AlertType.Error); } } catch (Exception ex) { Ui.Handle(ex as dynamic); } finally { IsBusy = false; } }