public async Task <BudgetCategoryViewModel> GetBudgetCategoryVM(int categoryId)
        {
            BudgetCategoryViewModel vm = new BudgetCategoryViewModel(this.dbFilePath);
            await vm.LoadVMAsync(categoryId);

            return(vm);
        }
Beispiel #2
0
 private static Category Map(BudgetCategoryViewModel viewModel)
 {
     return(new Category
     {
         Name = viewModel.Name,
         BudgetLineItems = viewModel.LineItems.Select(Map).ToList()
     });
 }
        public async Task <Chart> GetChartAsync(BudgetCategoryViewModel vm, CategoryChartType chartType, bool fullSize = false)
        {
            var entries = await GetEntriesAsync(vm, chartType, fullSize);

            return(new DonutChart()
            {
                Entries = entries
            });
        }
        protected async override void OnAppearing()
        {
            base.OnAppearing();

            vm = this.BindingContext as BudgetCategoryViewModel;
            //chartCategory.Chart = await ChartUtility.Instance.GetChartAsync(vm);
            //var provider = new MicrochartsProvider<BudgetCategoryViewModel>();
            //chartCategory.Chart = await provider.GetChartAsync(vm, 0, false);
        }
        public static void Equal(Category category, BudgetCategoryViewModel viewModel)
        {
            Assert.Equal(category.Name, viewModel.Name);
            Assert.Equal(category.BudgetLineItems.Count, viewModel.LineItems.Length);

            foreach (var itemViewModel in category.BudgetLineItems)
            {
                var lineItem = viewModel.LineItems.Single(b => b.Name == itemViewModel.Name);
                BudgetLineItemAssert.Equal(itemViewModel, lineItem);
            }
        }
        //public async void OnBackClicked(object sender, EventArgs e)
        //{
        //    await Navigation.PopModalAsync();
        //}


        public async void btnNewBudgetItem_Clicked(object sender, EventArgs eventArgs)
        {
            if (vm == null)
            {
                vm = this.BindingContext as BudgetCategoryViewModel;
            }

            BudgetItemEdit      editor  = new BudgetItemEdit();
            BudgetItemViewModel newItem = await vm.AddBudgetItemAsync();

            editor.BindingContext = newItem;
            await Navigation.PushAsync(editor);

            //await Navigation.PushModalAsync(editor);
        }
        async Task <Entry[]> GetCategoryEntriesAsync(BudgetCategoryViewModel vm, CategoryChartType chartType, bool fullSize)
        {
            var context = vm;

            List <Entry> entries = new List <Entry>();

            foreach (var itm in context.BudgetItems)
            {
                if (fullSize)
                {
                    await Task.Run(() => entries.Add(EntryUtility.GetEntry((float)itm.BudgetedAmount, GetColor(), itm.ItemDescription, itm.BudgetedAmount.ToString("C"))));
                }
                else
                {
                    await Task.Run(() => entries.Add(EntryUtility.GetEntry((float)itm.BudgetedAmount)));
                }
            }

            return(entries.ToArray());
        }
 async Task <Entry[]> GetEntriesAsync(BudgetCategoryViewModel vm, CategoryChartType chartType, bool fullSize)
 {
     return(await GetCategoryEntriesAsync(vm, chartType, fullSize));
 }
Beispiel #9
0
 protected override void OnAppearing()
 {
     base.OnAppearing();
     vm = this.BindingContext as BudgetCategoryViewModel;
 }
 protected override void OnDisappearing()
 {
     base.OnDisappearing();
     vm = null;
 }