public override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); ServiceLocator.Instance.Register <MockDataStore, MockDataStore>(); ViewModel = new ItemsViewModel(); loadItems = ViewModel.ExecuteLoadItemsCommand(); MessagingCenter.Subscribe <AddItemActivity, Item>(this, "AddItem", async(obj, item) => { var _item = item as Item; await ViewModel.AddItem(_item); }); }
async void Save_Clicked(object sender, EventArgs e) { Button button = (Button)sender; button.IsEnabled = false; try { var IsValid = ValidateItem(); if (IsValid && !IsFromUpdate) { var addItemRequest = await SaveNewItemDetails(); if (addItemRequest != null) { var res = await itemsViewModel.AddItem(addItemRequest); if (res != null) { if (res.Code == 0) { InvoceCallback(); DisplayAlert("Message", "Item added successfully!", null, "OK"); await Navigation.PopModalAsync(); } else { await DisplayAlert("Message", "Adding Item Failed. Please try again", null, "OK"); } } else { await DisplayAlert("Message", "Adding Item Failed. Please try again", null, "OK"); } } } else if (IsValid && IsFromUpdate) { var updateItemRequest = await SaveEditItemDetails(); if (updateItemRequest != null) { var res = await itemsViewModel.UpdateItem(updateItemRequest); if (res != null) { if (res.Code == 0) { InvoceCallback(); DisplayAlert("Message", "Item updated successfully!", null, "OK"); await Navigation.PopModalAsync(); } else { await DisplayAlert("Message", "Updating Item Failed. Please try again", null, "OK"); } } else { await DisplayAlert("Message", "Updating Item Failed. Please try again", null, "OK"); } } } } catch (Exception ex) { } finally { button.IsEnabled = true; } }