Ejemplo n.º 1
0
        public async void PopulateRecommendations()
        {
            // Create progress operation
            var operation = ProgressManager.CreateOperation();

            try
            {
                // Validate settings
                if (_settingsService.UserId.IsNullOrWhiteSpace() || _settingsService.ApiKey.IsNullOrWhiteSpace())
                {
                    Notifications.Enqueue("Not configured – set username and API key in settings",
                                          "OPEN", ShowSettings);
                    return;
                }

                // Get recommendations
                Recommendations = await _recommendationService.GetRecommendationsAsync(operation);

                // Persist recommendations in cache
                _cacheService.Store("LastRecommendations", Recommendations);

                // Notify completion
                Notifications.Enqueue("Recommendations updated");
            }
            catch (RecommendationsUnavailableException)
            {
                Notifications.Enqueue("Recommendations unavailable – no top plays set in selected game mode");
            }
            catch (HttpErrorStatusCodeException ex) when(ex.StatusCode == HttpStatusCode.Unauthorized)
            {
                Notifications.Enqueue("Unauthorized – make sure API key is valid");
            }
            finally
            {
                // Dispose progress operation
                operation.Dispose();
            }
        }
Ejemplo n.º 2
0
 public async Task <ActionResult <IQueryable <ClientConsultantRecommendationDto> > > GetConsultantRecommendations()
 {
     return(Ok(await recommendationService.GetRecommendationsAsync()));
 }