示例#1
0
        public async Task <DeleteItemByIdResponse> DeleteItemById(DeleteItemByIdRequest item)
        {
            string url         = $"/item/delete";
            var    requestBody = await Task.Run(() => JsonConvert.SerializeObject(item));

            using (HttpClient httpClient = new HttpClient())
            {
                DeleteItemByIdResponse data = new DeleteItemByIdResponse();
                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();

                    data = JsonConvert.DeserializeObject <DeleteItemByIdResponse>(response);

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

                    return(null);
                }
                catch (Exception exp)
                {
                    return(null);
                }
            }
        }
        public async Task <DeleteItemByIdResponse> DeleteItemById(DeleteItemByIdRequest item)
        {
            IsBusy = true;
            try
            {
                var res = await itemsAPI.DeleteItemById(item);

                if (res != null)
                {
                    if (res.Code == 0)
                    {
                        return(res);
                    }
                    else
                    {
                        return(null);
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                IsBusy = false;
            }
        }
示例#3
0
        private async void Delete_Tapped(object sender, EventArgs e)
        {
            FontIconLabel button = (FontIconLabel)sender;

            button.IsEnabled = false;
            try
            {
                ItemsWithRating item = (ItemsWithRating)((Label)sender).BindingContext;

                var answer = await DisplayAlert("Message", "Are you sure you want to delete item '" + item.item.foodName + "' ?", "YES", "NO");

                if (answer)
                {
                    DeleteItemByIdRequest reqObj = new DeleteItemByIdRequest()
                    {
                        id = item.item.id.ToString()
                    };
                    var res = await userProfileViewModel.DeleteItemById(reqObj);

                    if (res != null)
                    {
                        if (res.Code == 0)
                        {
                            await DisplayAlert("Message", "Item deleted successfully!", null, "OK");
                            await LoadUser();

                            viewModel.LoadItemsCommand.Execute(null);
                            //viewModel.ExecuteLoadItemsCommand();
                        }
                        else
                        {
                            await DisplayAlert("Message", "Couldn't delete the item. Please try again.", null, "OK");
                        }
                    }
                    else
                    {
                        await DisplayAlert("Message", "Couldn't delete the item. Please try again.", null, "OK");
                    }
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                button.IsEnabled = true;
            }
        }