Esempio n. 1
0
        public async Task <Item> GetAllItems(GetAllItemsRequest request)
        {
            string url         = $"/item/get-all-active";
            var    requestBody = await Task.Run(() => JsonConvert.SerializeObject(request));

            using (HttpClient httpClient = new HttpClient())
            {
                try
                {
                    var authHeader = new AuthenticationHeaderValue("Bearer", await SecureStorage.GetAsync("auth_token"));
                    httpClient.DefaultRequestHeaders.Authorization = authHeader;
                    httpClient.BaseAddress = new Uri(Constants.BaseUrl);
                    StringContent       content = new StringContent(requestBody, Encoding.UTF8, "application/json");
                    HttpResponseMessage result  = await httpClient.PostAsync(url, content);

                    string response = await result.Content.ReadAsStringAsync();

                    var data = JsonConvert.DeserializeObject <Item>(response);

                    if (result.IsSuccessStatusCode && result.StatusCode == HttpStatusCode.OK)
                    {
                        return(data);
                    }

                    return(null);
                }

                catch (Exception exp)
                {
                    return(null);
                }
            }
        }
        public async Task <Item> GetAllItems(GetAllItemsRequest request)
        {
            IsBusy = true;
            Item res = await itemsAPI.GetAllItems(request);

            IsBusy = false;
            return(res);
        }
        public async Task ExecuteLoadItemsCommand()
        {
            IsBusy = true;

            try
            {
                Items.Clear();
                GetAllItemsRequest request = new GetAllItemsRequest()
                {
                    userId       = OperationData.userId,
                    userLocation = OperationData.filterLocation
                };
                var res = await GetAllItems(request);

                if (res != null)
                {
                    if (res.Code == 0)
                    {
                        foreach (var item in res.Data)
                        {
                            if (item.isFavorite == true)
                            {
                                item.isNotFavorite = false;
                            }
                            else
                            {
                                item.isNotFavorite = true;
                            }
                            item.unitPrice = Convert.ToDouble(item.unitPrice).ToString("N2");
                            Items.Add(item);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsRefreshing = false;
                IsBusy       = false;
            }
        }