Beispiel #1
0
        public async Task <IActionResult> Get(EStreetProvider streetProvider, string searchTerm)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            try
            {
                var result = await _streetService.SearchAsync(streetProvider, searchTerm);

                return(Ok(result));
            }
            catch (ProviderException e)
            {
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500));
            }
        }
Beispiel #2
0
        public async Task <IEnumerable <AddressSearchResult> > SearchAsync(EStreetProvider streetProvider, string searchTerm)
        {
            var provider = _streetProviders.ToList()
                           .Where(_ => _.ProviderName == streetProvider)
                           .FirstOrDefault();

            if (provider == null)
            {
                throw new Exception();
            }

            switch (streetProvider)
            {
            case EStreetProvider.Fake:
                return(await provider.SearchAsync(searchTerm));

            case EStreetProvider.CRM:
                return(await provider.SearchAsync(searchTerm));

            default:
                throw new ProviderException("SearchAsync: No provider selected to perform search operation");
            }
        }