public async Task <ObservableRangeCollection <Color> > GetFreshColors()
        {
            try
            {
                int totalColors = await CountColor();

                var response = await httpClient.Get($"/api/v1/list/colors?offset={totalColors}&limit={Constants.MAX_FETCH_QUOTE}&status=approved");

                var content = await response.Content.ReadAsStringAsync();

                if (response.IsSuccessStatusCode)
                {
                    var colorsResponse = JsonConvert.DeserializeObject <ColorsResponse>(content);
                    await InsertColors(colorsResponse.Data.Colors);

                    return(colorsResponse.Data.Colors);
                }
                Utils.TrackEvent("RefreshColors", content);
                return(null);
            }
            catch (System.Exception ex)
            {
                Utils.LogError(ex, "GettingFreshColors");
                return(null);
            }
        }
Exemple #2
0
        public async void OnNavigatedTo(NavigationContext context)
        {
            if (!context.IsPopBack)
            {
                var result = await loadingService.WithExecuteAsync(
                    "Storage list",
                    async() => await networkClient.Get <StorageResponse>(
                        EndPoint.StorageList(settingService.GetEndPoint()),
                        Definition.Timeout));

                if (result.Success)
                {
                    foreach (var entry in result.Result.Entries)
                    {
                        Items.Add(new SelectableItem <StorageResponseEntry>(entry));
                    }
                }
                else
                {
                    await dialogService.DisplayNetworkError(result);
                }
            }
        }
        public async Task <ObservableRangeCollection <FlagReason> > GetFlagReasons()
        {
            if (!Settings.ShouldRefreshFlagReasons && Settings.FlagReasons.Count != 0)
            {
                return(Settings.FlagReasons);
            }

            var response = await httpClient.Get("/api/v1/list/flag_reasons");

            var content = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                var flagReasonsResponse = JsonConvert.DeserializeObject <FlagReasonResponse>(content);
                Settings.FlagReasons = flagReasonsResponse.FlagReasons;
                return(Settings.FlagReasons);
            }
            Utils.LogError(new Exception(content), "ErrorFetchingFlagreasons");
            return(null);
        }
Exemple #4
0
        public async Task <ObservableRangeCollection <DesignQuote> > GetFreshQuotes()
        {
            int totalQuotes = await CountQuotes();

            string flaggedIds  = string.Join(",", Settings.FlagedQuoteIds);
            string queryString = $"offset={totalQuotes}&limit={Constants.MAX_FETCH_QUOTE}&status=approved&max_flag_count=0&exclude={flaggedIds}";

            var response = await httpClient.Get($"api/v1/list/quotes?{queryString}");

            var content = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                var quotesData = JsonConvert.DeserializeObject <DesignQuoteResponse>(content);

                //Got data, do the needfuls
                if (quotesData != null && quotesData.Data != null)
                {
                    return(Utils.Shuffle(quotesData.Data.Quotes));
                }
            }
            Utils.LogError(new Exception(content), "RefreshQuotesError");
            return(null);
        }