public void AddInOutLog()
        {
            var dialog = new InOutInputDialog();

            dialog.Closing += (sender, args) =>
            {
                if (dialog.DataContext is InOutInputViewModel vm && vm.PocketInOut.Id > 0)
                {
                    PocketInOutItems.Insert(0, LoadInOutItem(vm.PocketInOut.Id));
                }
            };

            dialog.ShowDialogWindow(new InOutInputViewModel(dialog));
        }
        public void DeletePocketInOut(object sender)
        {
            if (sender == null || !(sender is Button button))
            {
                return;
            }
            if (!(button.DataContext is PocketInOutItem pocketInOutItem))
            {
                return;
            }

            using var db = new AppDbContext();
            db.PocketInOuts.Remove(pocketInOutItem.PocketInOut);
            db.SaveChanges();

            PocketInOutItems.Remove(pocketInOutItem);
        }
        public void LoadChartGraph()
        {
            SeriesCollection = new SeriesCollection
            {
                new ColumnSeries
                {
                    Title  = "In",
                    Values = new ChartValues <double>(),
                    Fill   = System.Windows.Application.Current.FindResource("LightYellowBrush") as Brush
                },
                new ColumnSeries
                {
                    Title  = "Out",
                    Values = new ChartValues <double>(),
                    Fill   = System.Windows.Application.Current.FindResource("SoftBlueBrush") as Brush
                }
            };

            for (int i = 0; i < 12; i++)
            {
                SeriesCollection[0].Values.Add(0.0);
                SeriesCollection[1].Values.Add(0.0);

                Labels.Add(new DateTime(DateTime.Now.Year, i + 1, 1).ToString("MMMM", CultureInfo.InvariantCulture));
            }

            foreach (var pocketInOutItem in PocketInOutItems.GroupBy(x => x.PocketInOut.AddedDate.Month))
            {
                for (int i = 0; i < SeriesCollection[0].Values.Count; i++)
                {
                    if (i == pocketInOutItem.First().PocketInOut.AddedDate.Month - 1)
                    {
                        SeriesCollection[0].Values[i] = pocketInOutItem
                                                        .Where(x => x.PocketInOut.Type == PocketInOutType.In).Sum(x => x.PocketInOut.Amount);
                        SeriesCollection[1].Values[i] = pocketInOutItem
                                                        .Where(x => x.PocketInOut.Type == PocketInOutType.Out).Sum(x => x.PocketInOut.Amount);
                    }
                }
            }
        }