public ActionResult CreateAppointment() { var vm = new CreateAppointmentVM(); var input = new ProviderSearchInput(); var providers = providerService.Search(input); vm.ProviderIDs = ProviderMapper.MapProviderSearchResult_ProviderIds(providers); return(View(vm)); }
/// <summary> /// Retrieves Provider details matching search criteria contained within the request. /// </summary> /// <param name="request">ProviderSearchInput request object containing search criteria.</param> /// <exception cref="CourseSearchServiceException">The exception details of the error that has occurred.</exception> /// <returns>ProviderSearchOutput object populated with matching Provider details.</returns> public ProviderSearchOutput ProviderSearch(ProviderSearchInput request) { ProviderSearchOutput pso; try { pso = _providerService.GetProviders(request); } catch (Exception ex) { CourseSearchServiceException exc = new CourseSearchServiceException("An error has occured in the CourseSearchService", ex); throw exc; } return(pso); }
/// <summary> /// On clicking ProviderSearch button, calls CourseSearchService ProviderSearch() method wtih test data. /// </summary> private void btnProviderSearch_Click(object sender, EventArgs e) { txtResult.Text = "Processing ..."; ServiceInterface client = new ServiceInterfaceClient("CourseSearch"); ProviderSearchInput request = new ProviderSearchInput(new ProviderSearchRequestStructure()); request.ProviderSearchRequest.ProviderKeyword = "Cardiff"; try { ProviderSearchOutput response = client.ProviderSearch(request); StringBuilder sb = new StringBuilder(); sb.Append("Request details:"); sb.Append("\nProvider Keyword = " + response.ProviderSearchResponse.RequestDetails.ProviderSearch.ProviderKeyword); sb.Append("\n\n"); if (response.ProviderSearchResponse != null && response.ProviderSearchResponse.ProviderDetails != null) { sb.Append("Provider details:"); foreach (ProviderStructure providerDetail in response.ProviderSearchResponse.ProviderDetails) { sb.Append("\n" + providerDetail.Provider.ProviderID); sb.Append("\n" + providerDetail.Provider.ProviderName); sb.Append("\n"); } } txtResult.Text = sb.ToString(); } catch (Exception ex) { txtResult.Text = ex.Message; } }
/// <summary> /// Executes a search for Providers matching the search keyword. /// </summary> /// <param name="request">ProviderSearchInput request object.</param> /// <returns>A ProviderSearchOuput object.</returns> public ProviderSearchOutput GetProviders(ProviderSearchInput request) { ProviderSearchOutput providerSearchOutput = new ProviderSearchOutput(new ProviderSearchResponseStructure()); providerSearchOutput.ProviderSearchResponse.RequestDetails = new ProviderSearchResponseStructureRequestDetails(); providerSearchOutput.ProviderSearchResponse.RequestDetails.ProviderSearch = request.ProviderSearchRequest; List <Provider> providers = _providerQuery.GetProviders(request.ProviderSearchRequest.ProviderKeyword, request.ProviderSearchRequest.APIKey); List <ProviderStructure> providerStructures = new List <ProviderStructure>(); foreach (Provider provider in providers) { ProviderStructure providerStructure = new ProviderStructure(); providerStructure.Provider = BuildProviderDetail(provider); providerStructures.Add(providerStructure); } providerSearchOutput.ProviderSearchResponse.ProviderDetails = providerStructures.ToArray(); return(providerSearchOutput); }
/// <summary> /// Gets the results from the web service. /// </summary> /// <param name="criteria">The course search criteria.</param> /// <returns>A list of found courses.</returns> private ProviderSearchOutput GetResults(SearchCriteriaStructure criteria) { ProviderSearchOutput output = new ProviderSearchOutput(); ServiceInterface client = new ServiceInterfaceClient("CourseSearchService"); ProviderSearchRequestStructure listRequestStructure = new ProviderSearchRequestStructure { APIKey = criteria.APIKey, ProviderKeyword = criteria.ProviderKeyword }; ProviderSearchInput request = new ProviderSearchInput(listRequestStructure); try { output = client.ProviderSearch(request); } catch (Exception ex) { ResultsOverviewLabel.Text = ex.Message + "\n" + ex.StackTrace; } return(output); }