Esempio n. 1
0
        async void OnItemTapped(object sender, ItemTappedEventArgs e)
        {
            ExtendedExpense tappedExtendedExpenseItem = e.Item as ExtendedExpense;
            var             expensePopupMenuVM        = new ExpenseViewModel(tappedExtendedExpenseItem);
            var             expensePopupMenu          = new ExpensePopupMenu(expensePopupMenuVM);

            expensePopupMenu.CallbackEvent += (object sender, object e) => CallbackMethod();
            expensePopupMenu.BindingContext = expensePopupMenuVM;

            await PopupNavigation.Instance.PushAsync(expensePopupMenu);
        }
        public ExtendedExpense GetExpense(DateTime someDate)
        {
            var trans = GetTransForAnalysis(false, someDate);

            var result = new ExtendedExpense();

            result.LargeTransactions.AddRange(trans.Where(t => Math.Abs(t.AmountInUsd) > (decimal)_mySettings.GetSetting("LargeExpenseUsd")));
            result.TotalForLargeInUsd = result.LargeTransactions.Sum(l => l.AmountInUsd);

            var categories = from t in trans
                             group t by t.Category
                             into g
                             select new CategoriesDataElement(g.Key, g.Sum(a => a.AmountInUsd), new YearMonth(g.First().Timestamp.Year, g.First().Timestamp.Month));

            result.Categories.AddRange(categories);
            result.TotalInUsd = result.Categories.Sum(l => l.Amount);
            return(result);
        }