protected override void LoadState(object navigationParameter, Dictionary<string, object> pageState)
        {
            var item = navigationParameter as Tuple<string, double, DateTime, DateTime>;

            if (item == null)
                return;

            var queryExp = App.Instance.TransDataSource.TransactionList.Where(i => i.TransactionType.Name == "Expense" &&
                                                                                i.CreatedDate >= item.Item3 &&
                                                                                i.CreatedDate <= item.Item4);

            var queryInc = App.Instance.TransDataSource.TransactionList.Where(i => i.TransactionType.Name == "Income" &&
                                                                                i.CreatedDate >= item.Item3 &&
                                                                                i.CreatedDate <= item.Item4);

            switch (item.Item1)
            {
                case ">":
                    queryExp = from i in queryExp where i.Amount > item.Item2 select i;
                    queryInc = from i in queryInc where i.Amount > item.Item2 select i;
                    break;
                case "=":
                    queryExp = from i in queryExp where i.Amount == item.Item2 select i;
                    queryInc = from i in queryInc where i.Amount == item.Item2 select i;
                    break;
                case "<":
                    queryExp = from i in queryExp where i.Amount < item.Item2 select i;
                    queryInc = from i in queryInc where i.Amount < item.Item2 select i;
                    break;
                default:
                    break;
            }

            DataVirtualization.Toolkit.DataItemCollection collection = new DataVirtualization.Toolkit.DataItemCollection();

            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Euro",
                ID = 1,
                Name = "Expense",
                Value = queryExp.Sum(i => i.Amount)
            });
            
            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Euro",
                ID = 2,
                Name = "Income",
                Value = queryInc.Sum(i=>i.Amount)
            });

            chart.ItemsSource = collection;

            chart.ItemSelected += chart_ItemSelected;
            chart.ItemDeSelected += chart_ItemDeSelected;

            chart.legend.Foreground = new SolidColorBrush(new Windows.UI.Color(){A=255, R=0, G=0, B=0});
            this.UpdateLayout();
        }
        protected override void LoadState(object navigationParameter, Dictionary<string, object> pageState)
        {
            var item = navigationParameter as Tuple<List<int>>;

            if (item == null)
                return;

            var budgets = from i in App.Instance.TransDataSource.BudgetList
                          where item.Item1.Contains(i.BudgetId)
                          select i;

            List<NameValueItem> groupedExp = new List<NameValueItem>();
            List<NameValueItem> groupedInc = new List<NameValueItem>();
            foreach (var budget in budgets)
            {
                var queryExp = (from i in budget.Transactions
                                where i.TransactionType.Name == "Expense"
                                group i by new { budget.Name } into d
                                select new NameValueItem() { GroupDate = budget.Name, Count = d.Count(), SumAmount = d.Sum(k => k.Amount) }).ToList();

                var queryInc = (from i in budget.Transactions
                                where i.TransactionType.Name == "Income"
                                group i by new { budget.Name } into d
                                select new NameValueItem() { GroupDate = budget.Name, Count = d.Count(), SumAmount = d.Sum(k => k.Amount) }).ToList();

                groupedExp.AddRange(queryExp);
                groupedInc.AddRange(queryInc);
            }

            DataVirtualization.Toolkit.DataItemCollection collection = new DataVirtualization.Toolkit.DataItemCollection();


            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Euro",
                ID = 1,
                Name = "Expense",
                Value = groupedExp.Sum(i => i.SumAmount)
            });
            
            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Euro",
                ID = 2,
                Name = "Income",
                Value = groupedInc.Sum(i => i.SumAmount)
            });

            chart.ItemsSource = collection;

            chart.ItemSelected += chart_ItemSelected;
            chart.ItemDeSelected += chart_ItemDeSelected;
        }
        protected override void LoadState(object navigationParameter, Dictionary<string, object> pageState)
        {
            var item = navigationParameter as Tuple<string, DateTime, DateTime>;

            if (item == null)
                return;

            var queryExp = App.Instance.TransDataSource.TransactionList.Where(i => i.TransactionType.Name == "Expense" &&
                                                                                i.NameOfPlace == item.Item1 &&
                                                                                i.CreatedDate >= item.Item2 &&
                                                                                i.CreatedDate <= item.Item3);

            var queryInc = App.Instance.TransDataSource.TransactionList.Where(i => i.TransactionType.Name == "Income" &&
                                                                                i.NameOfPlace == item.Item1 &&
                                                                                i.CreatedDate >= item.Item2 &&
                                                                                i.CreatedDate <= item.Item3);

            DataVirtualization.Toolkit.DataItemCollection collection = new DataVirtualization.Toolkit.DataItemCollection();


            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Euro",
                ID = 1,
                Name = "Expense",
                Value = queryExp.Sum(i => i.Amount)
            });
            
            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Euro",
                ID = 2,
                Name = "Income",
                Value = queryInc.Sum(i=>i.Amount)
            });

            chart.ItemsSource = collection;

            chart.ItemSelected += chart_ItemSelected;
            chart.ItemDeSelected += chart_ItemDeSelected;
        }
        public MainPage()
        {
            this.InitializeComponent();

            DataVirtualization.Toolkit.DataItemCollection collection = new DataVirtualization.Toolkit.DataItemCollection();
            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Dollars",
                ID = 1,
                Name = "Transporation",
                Value = 500
            });
            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Dollars",
                ID = 2,
                Name = "Meals",
                Value = 200
            });
            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Dollars",
                ID = 3,
                Name = "Meetings",
                Value = 100
            });
            collection.Add(new DataVirtualization.Toolkit.DataItem()
            {
                DataSymbol = "Dollars",
                ID = 4,
                Name = "Outings",
                Value = 700
            });

            chart.ItemsSource = collection;

            chart.ItemSelected += chart_ItemSelected;
            chart.ItemDeSelected += chart_ItemDeSelected;
        }