private async Task GetSearchResults() { try { var providerOrganisationDetails = _ldapService.GetOrganisationDetailsByOdsCode(ProviderODSCode); var consumerOrganisationDetails = _ldapService.GetOrganisationDetailsByOdsCode(ConsumerODSCode); _auditSearchParameters[0] = ConsumerODSCode; _auditSearchParameters[1] = ProviderODSCode; _auditSearchParameters[2] = SelectedDateRange; ProviderODSCodeFound = providerOrganisationDetails != null; ConsumerODSCodeFound = consumerOrganisationDetails != null; if (ProviderODSCodeFound && ConsumerODSCodeFound) { //Step 2 - VALIDATE PROVIDER ODS CODE IN SPINE DIRECTORY //Is ODS code configured in Spine Directory as an GP Connect Appointments provider system? / Retrieve provider endpoint and party key from Spine Directory var providerGpConnectDetails = _ldapService.GetGpProviderEndpointAndPartyKeyByOdsCode(ProviderODSCode); var consumerGpConnectDetails = _ldapService.GetGpProviderEndpointAndPartyKeyByOdsCode(ConsumerODSCode); ProviderEnabledForGpConnectAppointmentManagement = providerGpConnectDetails != null; if (ProviderEnabledForGpConnectAppointmentManagement && consumerOrganisationDetails != null) { var providerAsId = _ldapService.GetGpProviderAsIdByOdsCodeAndPartyKey(ProviderODSCode, providerGpConnectDetails.party_key); ProviderASIDPresent = providerAsId != null; if (ProviderASIDPresent) { ProviderPublisher = providerAsId.product_name; providerGpConnectDetails.asid = providerAsId.asid; await PopulateSearchResults(providerGpConnectDetails, providerOrganisationDetails, consumerGpConnectDetails, consumerOrganisationDetails); SearchAtResultsText = $"{providerOrganisationDetails.OrganisationName} ({providerOrganisationDetails.ODSCode}) - {StringExtensions.AddressBuilder(providerOrganisationDetails.PostalAddressFields.ToList(), providerOrganisationDetails.PostalCode)}"; SearchOnBehalfOfResultsText = $"{consumerOrganisationDetails.OrganisationName} ({consumerOrganisationDetails.ODSCode}) - {StringExtensions.AddressBuilder(consumerOrganisationDetails.PostalAddressFields.ToList(), consumerOrganisationDetails.PostalCode)}"; } else { _auditSearchIssues.Add(SearchConstants.ISSUEWITHGPCONNECTPROVIDERTEXT); } } else { _auditSearchIssues.Add(string.Format(SearchConstants.ISSUEWITHGPCONNECTPROVIDERNOTENABLEDTEXT, ProviderODSCode)); } } else { if (!ProviderODSCodeFound) { _auditSearchIssues.Add(string.Format(SearchConstants.ISSUEWITHPROVIDERODSCODETEXT, ProviderODSCode)); } if (!ConsumerODSCodeFound) { _auditSearchIssues.Add(string.Format(SearchConstants.ISSUEWITHCONSUMERODSCODETEXT, ConsumerODSCode)); } } } catch (LdapException) { LdapErrorRaised = true; _auditSearchIssues.Add(SearchConstants.ISSUEWITHLDAPTEXT); } }