public async Task <PantryModel> GetPantryAsync(string token, int userId) { await Task.Delay(100); var uri = new Uri(string.Format(Constants.RestUrl + "/api/mypantry", string.Empty)); string authToken = Preferences.Get("api_key", "null"); PantryModel userPantry = await _requestService.GetAsync <PantryModel>(uri.ToString(), authToken); return(userPantry); }
public PantryViewModel() { navManager = PageNavigationManager.Instance; AddItemButton_ClickedCommand = new Command(() => { navManager.showItemPage(this.pantryList); }); //_service = new PantryMockService(); _service = new PantryService(new RequestService()); Task.Run(async() => { try { PantryModel GetDetails = await _service.GetPantryAsync("abs", 1); PantryList = new ObservableCollection <PantryItemModel>(GetDetails.Items); } catch (System.OperationCanceledException ex) { Console.WriteLine($"Text load cancelled: {ex.Message}"); } catch (Exception ex) { Console.WriteLine(ex.Message); } }); ItemSelectedCommand = new Command <PantryItemModel>(pantryItemSelected); EditItemSelectedCommand = new Command <PantryItemModel>(pantryEditItemSelected); DeleteItemSelectedCommand = new Command <PantryItemModel>(pantryDeleteItemSelected); MessagingCenter.Subscribe <ItemViewModel, PantryItemModel>(this, "New Item", (sender, receivedPantryItem) => { this.pantryList.Add(receivedPantryItem); _service.SetPantryAsync("abs", receivedPantryItem); }); MessagingCenter.Subscribe <EditItemViewModel, PantryItemModel>(this, "Edit Item", (sender, pantryItem) => { int index = 0; bool done = true; while (done) { if (this.pantryList[index].Id == pantryItem.Id) { this.pantryList[index] = pantryItem; done = false; } index++; } }); }
public async Task <bool> DeletePantryItemAsync(string token, int pantryItemId) { await Task.Delay(100); PantryModel newPantryModel = userPantry; for (var i = 0; i < userPantry.Items.Count; i++) { if (userPantry.Items[i].Id == pantryItemId) { userPantry.Items.RemoveAt(i); return(true); } } return(false); }
public async Task <bool> EditPantryItemAsync(string token, PantryItemModel pantryItemModel) { await Task.Delay(100); PantryModel newPantryModel = userPantry; for (var i = 0; i < userPantry.Items.Count; i++) { if (userPantry.Items[i].Id == pantryItemModel.Id) { userPantry.Items[i] = pantryItemModel; return(true); } } return(false); }