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);
            });
        }
예제 #2
0
        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;
            }
        }