public async void OnDeleteClicked(object sender, EventArgs e)
        {
            var confirm = await DisplayActionSheet("Delete this item?", "Cancel", "Delete");

            if (confirm == "Delete")
            {
                var button = (Button)sender;
                button.IsEnabled = false;
                busy.IsVisible   = true;
                busy.IsRunning   = true;
                var item = (GroceryItem)BindingContext;
                item.Deleted = true;
                var request = new GroceryRequest();
                request.items = new List <GroceryItem>();
                request.items.Add(item);
                var response = await App.APImanager.UpdateGroceryItems(request);

                busy.IsVisible = false;
                busy.IsRunning = false;
                if (response.success)
                {
                    await Navigation.PopModalAsync();
                }
                else
                {
                    await DisplayAlert("Error", response.message, "Okay");
                }
            }
        }
        public async void OnUpdateClicked(object sender, EventArgs e)
        {
            var button = (Button)sender;

            button.IsEnabled = false;
            busy.IsVisible   = true;
            busy.IsRunning   = true;
            var item    = (GroceryItem)BindingContext;
            var request = new GroceryRequest();

            request.items = new List <GroceryItem>();
            if (item.Purchased)
            {
                item.DateCompleted = DateTime.Now;
            }
            request.items.Add(item);
            var response = await App.APImanager.UpdateGroceryItems(request);

            busy.IsVisible = false;
            busy.IsRunning = false;
            if (response.success)
            {
                await Navigation.PopModalAsync();
            }
            else
            {
                await DisplayAlert("Error", response.message, "Okay");
            }
        }
        public async void Update(object sender, EventArgs e)
        {
            var button = (Button)sender;

            button.IsEnabled = false;
            busy.IsVisible   = true;
            busy.IsRunning   = true;
            var request = new GroceryRequest();

            request.items = new List <GroceryItem>();
            foreach (GroceryListGroup group in groceryItems)
            {
                foreach (GroceryItem item in group)
                {
                    if (item.Purchased)
                    {
                        item.DateCompleted = DateTime.Now;
                    }
                    request.items.Add(item);
                }
            }
            var response = await App.APImanager.UpdateGroceryItems(request);

            if (response.success)
            {
                await Navigation.PopAsync();
            }
            else
            {
                await DisplayAlert("Error", response.message, "Okay");

                await Navigation.PopAsync();
            }
        }
Beispiel #4
0
        // PUT a list of grocery items to be updated
        public async Task <JsonResponse> UpdateGroceryItems(GroceryRequest request)
        {
            var uri = new Uri(string.Format(Keys.WebAPI + "/grocery", string.Empty));

            try
            {
                var json    = JsonConvert.SerializeObject(request);
                var content = new StringContent(json, Encoding.UTF8, "application/json");
                HttpResponseMessage response = await client.PutAsync(uri, content);

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

                return(JsonConvert.DeserializeObject <JsonResponse>(JSONstring));
            }
            catch
            {
                throw new NotImplementedException();
            }
        }
Beispiel #5
0
 public Task <JsonResponse> UpdateGroceryItems(GroceryRequest request)
 {
     return(_APIservice.UpdateGroceryItems(request));
 }