private async Task CreateCategoryAsync()
        {
            await DialogService.DisplayPopupAsync();

            var parameters = new NavigationParameters();
            await NavigationService.NavigateAsync("SetCategoryPage", parameters);

            await DialogService.PopAsync();
        }
示例#2
0
        private async Task UpdateModelAsync()
        {
            await DialogService.DisplayPopupAsync();

            await SetSelectableStatesAsync();

            ResetNewItemCommand.Execute(null);
            ResetSearchItem();
            ShowItemsCommand.Execute(null);
            await DialogService.PopAsync();
        }
        private async Task GetCategoryAsync(string categoryID)
        {
            if (!IsNewCategory)
            {
                await DialogService.DisplayPopupAsync();

                Category = await FirebaseService.GetCategoryAsync(categoryID);

                States = new ObservableCollection <StateModel>(await FirebaseService.GetStatesAsync(categoryID));
                await DialogService.PopAsync();
            }
        }
示例#4
0
        private async Task OpenCategorySettingsAsync()
        {
            await DialogService.DisplayPopupAsync();

            var parameters = new NavigationParameters
            {
                { "categoryID", Category.CategoryID }
            };

            await DialogService.DisplayPopupAsync();

            await NavigationService.NavigateAsync("SetCategoryPage", parameters);
        }
        private async Task RefreshCategoriesAsync()
        {
            await DialogService.DisplayPopupAsync();

            var categoriesList = await FirebaseService.GetCategoriesAsync(20, null);

            if (categoriesList == null)
            {
                categoriesList = new List <CategoryModel>();
            }

            Categories = new ObservableCollection <CategoryModel>(categoriesList);
            await DialogService.PopAsync();
        }
        private async Task SaveCategoryAsync()
        {
            if (!await CanSaveCategoryAsync())
            {
                return;
            }

            await DialogService.DisplayPopupAsync();

            var parameters = new NavigationParameters();

            if (IsUpdated)
            {
                parameters.Add("IsUpdated", true);
            }

            if (IsNewCategory)
            {
                var categoryID = await FirebaseService.InsertCategoryAsync(Category);

                for (int i = States.Count - 1; i >= 0; i--)
                {
                    States[i].CategoryID = categoryID;
                    await FirebaseService.InsertStateAsync(States[i]);
                }
            }
            else
            {
                await FirebaseService.UpdateCategoryAsync(Category);

                foreach (var state in States)
                {
                    if (state.StateID == null)
                    {
                        await FirebaseService.InsertStateAsync(state);
                    }
                    else
                    {
                        await FirebaseService.UpdateStateAsync(state);
                    }
                }
                foreach (var state in DeletedStates)
                {
                    await FirebaseService.DeleteStateAsync(state);
                }
            }
            await DialogService.PopAsync();

            await NavigationService.GoBackAsync(parameters);
        }
示例#7
0
        private async Task CreateItemAsync()
        {
            if (!await CanCreateItemAsync())
            {
                return;
            }

            await DialogService.DisplayPopupAsync();

            await FirebaseService.InsertItemAsync(NewItem);

            ResetNewItemCommand.Execute(null);

            await ShowItemsAsync();

            await DialogService.PopAsync();
        }
示例#8
0
        private async Task SaveItemAsync()
        {
            if (!await CanSaveItemAsync())
            {
                return;
            }

            await DialogService.DisplayPopupAsync();

            await FirebaseService.UpdateItemAsync(EditItem);

            var i = Category.Items.IndexOf(Category.Items.FirstOrDefault(x => x.ItemID == EditItem.ItemID));

            Category.Items[i] = EditItem;
            ResetNewItemCommand.Execute(null);
            await DialogService.DisplayPopupAsync();
        }
        private async Task DeleteCategoryAsync()
        {
            var delete = await DialogService.DisplayAlert("Delete category", "Are you sure you want to delete category", "Ok", "Cancel");

            if (delete)
            {
                await DialogService.DisplayPopupAsync();

                await FirebaseService.DeleteCategoryAsync(Category);

                IsUpdated = true;

                var parameters = new NavigationParameters
                {
                    { "IsUpdated", IsUpdated }
                };

                await DialogService.DisplayPopupAsync();

                await NavigationService.GoBackToRootAsync(parameters);
            }
        }