Beispiel #1
0
        public void AllIncomeTotals()
        {
            incomeTotals.Clear();
            using (var context = new BookKeepingContext())
            {
                context.IncomeDBSet.Load();

                var incomeCategoryList = context.IncomeDBSet.Select(income => income.IncomeCategory).Distinct().Cast <string>().ToList();
                var t = context.IncomeDBSet.GroupBy(o => new { o.IncomeCategory })
                        .Select(g => new Total
                {
                    Category   = g.Key.IncomeCategory,
                    TotalValue = g.Sum(o => o.IncomeAmount)
                });
                if (t != null)
                {
                    foreach (var item in t)
                    {
                        incomeTotals.Add(item);
                    }
                    IncomeGrandTotal = t.Sum(x => x.TotalValue).ToString("C2");
                }

                var q = incomeTotals.FirstOrDefault(x => x.Category == "Gasoline");
                if (q != null)
                {
                    q.TotalValue = q.TotalValue * .08m;
                }
            }
        }
        public Pivot CreatePivotItems(IEnumerable <string> categories, BookKeepingContext bookKeepingContext, int type, Pivot pivot, PointerEventHandler pointerEventHandler, EventHandler <DataGridColumnEventArgs> DataGrid_ColumnSort_Handler)
        {
            DatagridFactory datagridFactory = new DatagridFactory();

            foreach (var category in categories)
            {
                if (category == "Gasoline")
                {
                    pivot.Items.Add(new PivotItem
                    {
                        Header  = "Gasoline",
                        Content = datagridFactory.DatagridFactory_Make("Gasoline", 2, bookKeepingContext, pointerEventHandler, DataGrid_ColumnSort_Handler),
                    });
                }
                else
                {
                    pivot.Items.Add(new PivotItem
                    {
                        Header  = category,
                        Content = datagridFactory.DatagridFactory_Make(category, type, bookKeepingContext, pointerEventHandler, DataGrid_ColumnSort_Handler),
                    });
                }
            }


            pivot.Name = "MainPivot";

            return(pivot);
        }
 public IncomePivotViewModel(BookKeepingContext bookKeepingContext, PointerEventHandler pointerEventHandler, EventHandler <DataGridColumnEventArgs> DataGrid_ColumnSort_Handler)
 {
     using (var context = new BookKeepingContext())
     {
         categories = context.IncomeDBSet.Select(x => x.IncomeCategory).Distinct().ToList();
     }
     foreach (var category in categories)
     {
         Add(new IncomeDataGridModel {
             PivotHeader = category, DataGrid = datagridFactory.DatagridFactory_Make(category, 0, bookKeepingContext, pointerEventHandler, DataGrid_ColumnSort_Handler)
         });
     }
 }
Beispiel #4
0
        public IncomeGrandTotalViewModel()
        {
            using (var context = new BookKeepingContext())
            {
                context.IncomeDBSet.Load();
                var incomeCategoryList = context.IncomeDBSet.Select(income => income.IncomeCategory).Distinct().Cast <string>().ToList();
                var t = context.IncomeDBSet.GroupBy(o => new { o.IncomeCategory })
                        .Select(g => new Total
                {
                    Category   = g.Key.IncomeCategory,
                    TotalValue = g.Sum(o => o.IncomeAmount)
                });


                IncomeGrandTotal = t.Sum(x => x.TotalValue).ToString("C2");
            }
        }
Beispiel #5
0
        public void AllExpenseTotals()
        {
            expenseTotals.Clear();
            using (var context = new BookKeepingContext())
            {
                context.ExpenseDBSet.Load();
                var expenseCategoryList = context.ExpenseDBSet.Select(expense => expense.ExpenseCategory).Distinct().Cast <string>().ToList();
                var t = context.ExpenseDBSet.GroupBy(o => new { o.ExpenseCategory })
                        .Select(g => new Total
                {
                    Category   = g.Key.ExpenseCategory,
                    TotalValue = g.Sum(o => o.AmountPaid)
                });

                foreach (var item in t)
                {
                    expenseTotals.Add(item);
                }

                ExpenseGrandTotal = t.Sum(x => x.TotalValue).ToString("C2");
            }
        }
 public void AddIncomePivotItem(string category, BookKeepingContext bookKeepingContext, PointerEventHandler pointerEventHandler, EventHandler <DataGridColumnEventArgs> DataGrid_ColumnSort_Handler)
 {
     Add(new IncomeDataGridModel {
         PivotHeader = category, DataGrid = datagridFactory.DatagridFactory_Make(category, 0, bookKeepingContext, pointerEventHandler, DataGrid_ColumnSort_Handler)
     });
 }
 public ScheduleController(BookKeepingContext context)
 {
     _context = context;
 }
Beispiel #8
0
 public HomeController(BookKeepingContext context)
 {
     _context = context;
 }
        public DataGrid DatagridFactory_Make(string category, int DBSetType, BookKeepingContext bookKeepingContext, PointerEventHandler pointerEventHandler, EventHandler <DataGridColumnEventArgs> DataGrid_ColumnSort_Handler)
        {
            try
            {
                if (DBSetType == 0)
                {
                    DataGrid dataGrid = new DataGrid();
                    dataGrid.Name       = category + "IncomeDatagrid";
                    dataGrid.IsReadOnly = true;
                    bookKeepingContext.IncomeDBSet.Load();
                    dataGrid.AutoGenerateColumns = false;
                    dataGrid.CanUserSortColumns  = true;
                    dataGrid.Sorting            += DataGrid_ColumnSort_Handler;
                    // DataGridTextColumn gridTextColumn = new DataGridTextColumn();
                    // binding.ElementName = "EntryNotes";
                    Binding bindingMonth = new Binding()
                    {
                        Path = new PropertyPath("Month")
                    };
                    Binding bindingIncomeId = new Binding()
                    {
                        Path = new PropertyPath("IncomeId")
                    };
                    //Binding bindingDatePaid = new Binding() { Path = new PropertyPath("DatePaid") };
                    Binding bindingIncomeAmount = new Binding()
                    {
                        Path = new PropertyPath("IncomeAmount")
                    };
                    //Binding bindingCheckNumber = new Binding() { Path = new PropertyPath("CheckNumber") };
                    Binding bindingEntryNotes = new Binding()
                    {
                        Path = new PropertyPath("EntryNotes")
                    };
                    //Binding bindingIncomeTotal = new Binding() { Path = new PropertyPath("IncomeTotal") };
                    // dataGrid.DataContext = bookKeepingContext;
                    dataGrid.ItemsSource = bookKeepingContext.IncomeDBSet
                                           .Where(i => i.IncomeCategory.Contains(category)).Where(d => d.DatePaid.Date.Year == DateTime.Now.Year).ToList();

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "ID",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingIncomeId,
                    });

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Month",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingMonth,
                    });

                    //dataGrid.Columns.Add(new DataGridTextColumn()
                    //{
                    //    Header = "Date Paid",
                    //    Width = new DataGridLength(1, DataGridLengthUnitType.Auto),
                    //    Binding = bindingDatePaid,

                    //});
                    //dataGrid.Columns.Add(new DataGridTextColumn()
                    //{
                    //    Header = "Check Number",
                    //    Width = new DataGridLength(1, DataGridLengthUnitType.Auto),
                    //    Binding = bindingCheckNumber,


                    //});

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Amount",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingIncomeAmount,
                    });

                    /*
                     * dataGrid.Columns.Add(new DataGridTextColumn()
                     * {
                     *  Header = "Total",
                     *  Width = new DataGridLength(1, DataGridLengthUnitType.Auto),
                     *  Binding = bindingIncomeTotal,
                     *
                     * });
                     */
                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Entry Notes",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingEntryNotes,
                    });

                    //dataGrid.DataContext = bookKeeperContext;

                    dataGrid.PointerPressed += pointerEventHandler;

                    return(dataGrid);
                }
                else if (DBSetType == 1)
                {
                    DataGrid dataGrid = new DataGrid();
                    dataGrid.Name = category + "ExpenseDatagrid";
                    // dataGrid.PointerPressed += new PointerEventHandler((object sender, PointerRoutedEventArgs e) => { Console.Out.WriteLine("Ok"); });
                    dataGrid.IsReadOnly = true;
                    dataGrid.Sorting   += DataGrid_ColumnSort_Handler;
                    bookKeepingContext.ExpenseDBSet.Load();
                    dataGrid.AutoGenerateColumns = false;
                    Binding bindingMonth = new Binding()
                    {
                        Path = new PropertyPath("Month")
                    };
                    Binding bindingExpenseId = new Binding()
                    {
                        Path = new PropertyPath("ExpenseId")
                    };
                    Binding bindingDatePaid = new Binding()
                    {
                        Path = new PropertyPath("DatePaid")
                    };
                    Binding bindingAmountPaid = new Binding()
                    {
                        Path = new PropertyPath("AmountPaid")
                    };
                    Binding bindingCheckNumber = new Binding()
                    {
                        Path = new PropertyPath("CheckNumber")
                    };
                    Binding bindingExpenseTotal = new Binding()
                    {
                        Path = new PropertyPath("ExpenseTotal")
                    };
                    Binding bindingEntryNotes = new Binding()
                    {
                        Path = new PropertyPath("EntryNotes")
                    };
                    dataGrid.ItemsSource = bookKeepingContext.ExpenseDBSet
                                           .Where(i => i.ExpenseCategory.Contains(category)).Where(d => d.DatePaid.Date.Year == DateTime.Now.Year).OrderBy(c => c.DatePaid).ToList();

                    //dataGrid.Foreground = new SolidColorBrush(Colors.AntiqueWhite);
                    //dataGrid.Background = new SolidColorBrush(Color.FromArgb(255,70,70,70));
                    //dataGrid.FontFamily = new FontFamily("Calibri");

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Month",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingMonth,
                    });

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "ID",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingExpenseId,
                    });


                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Date Paid",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingDatePaid,
                    });



                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Amount Paid",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingAmountPaid,
                    });



                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Check Number",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingCheckNumber,
                    });



                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Total Expense",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingExpenseTotal,
                    });



                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Entry Notes",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingEntryNotes,
                    });



                    dataGrid.CanUserSortColumns = true;
                    // dataGrid.DataContext = bookKeeperContext;
                    dataGrid.PointerPressed += pointerEventHandler;

                    return(dataGrid);
                }
                else if (DBSetType == 2)   //2 is of type gas
                {
                    DataGrid dataGrid = new DataGrid();
                    dataGrid.Name       = "GasolineIncomeDatagrid";
                    dataGrid.IsReadOnly = true;
                    bookKeepingContext.IncomeDBSet.Load();
                    dataGrid.AutoGenerateColumns = false;
                    dataGrid.CanUserSortColumns  = true;
                    dataGrid.Sorting            += DataGrid_ColumnSort_Handler;

                    // DataGridTextColumn gridTextColumn = new DataGridTextColumn();

                    // binding.ElementName = "EntryNotes";
                    Binding bindingMonth = new Binding()
                    {
                        Path = new PropertyPath("Month")
                    };
                    Binding bindingIncomeId = new Binding()
                    {
                        Path = new PropertyPath("IncomeId")
                    };
                    Binding bindingIncomeAmount = new Binding()
                    {
                        Path = new PropertyPath("IncomeAmount")
                    };
                    Binding bindingEntryNotes = new Binding()
                    {
                        Path = new PropertyPath("EntryNotes")
                    };
                    Binding bindingIncomeTotal = new Binding()
                    {
                        Path = new PropertyPath("IncomeTotal")
                    };

                    // dataGrid.DataContext = bookKeepingContext;
                    dataGrid.ItemsSource = bookKeepingContext.IncomeDBSet
                                           .Where(i => i.IncomeCategory.Contains(category)).Where(d => d.DatePaid.Date.Year == DateTime.Now.Year).ToList();

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "ID",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingIncomeId,
                    });

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Month",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingMonth,
                    });

                    //dataGrid.Columns.Add(new DataGridTextColumn()
                    //{
                    //    Header = "Date Paid",
                    //    Width = new DataGridLength(1, DataGridLengthUnitType.Auto),
                    //    Binding = bindingDatePaid,

                    //});
                    //dataGrid.Columns.Add(new DataGridTextColumn()
                    //{
                    //    Header = "Check Number",
                    //    Width = new DataGridLength(1, DataGridLengthUnitType.Auto),
                    //    Binding = bindingCheckNumber,


                    //});

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Gallons",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingIncomeAmount,
                    });

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Total Gallons Sold",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingIncomeTotal,
                    });

                    dataGrid.Columns.Add(new DataGridTextColumn()
                    {
                        Header  = "Entry Notes",
                        Width   = new DataGridLength(1, DataGridLengthUnitType.Auto),
                        Binding = bindingEntryNotes,
                    });

                    //dataGrid.DataContext = bookKeeperContext;

                    dataGrid.PointerPressed += pointerEventHandler;

                    return(dataGrid);
                }
                else
                {
                    throw new ArgumentException("Invalid DBSet Name(Category)");
                }
            }
            catch (Exception)
            {
                throw;
            }
        }