private ObservableCollection <Payee> GetPayers()
        {
            ObservableCollection <Payee> myPayers = new ObservableCollection <Payee>();

            using (var db = new EntitySaveItContext())
            {
                var query = from b in db.Payees
                            where b.Name != null
                            orderby b.Id
                            select b;



                Debug.WriteLine("All Payers in the database:");
                foreach (var item in query)
                {
                    if (!item.IsPayee)
                    {
                        myPayers.Add(item);
                    }
                }
            }

            return(myPayers);
        }
        public void DeleteIncome()
        {
            Income itemToDelete;

            //1. Get Account from DB
            using (var ctx = new EntitySaveItContext())
            {
                itemToDelete =
                    ctx.Incomes.FirstOrDefault(s => s.Id == SelectedIncome.Id);
            }

            //Create new context for disconnected scenario
            using (var newContext = new EntitySaveItContext())
            {
                newContext.Entry(itemToDelete).State = System.Data.Entity.EntityState.Deleted;

                try
                {
                    newContext.SaveChanges();

                    // remove the item to be deleted from the list
                    IncomeList.Remove(SelectedIncome);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
        }
        public void DeleteExpense()
        {
            Expense itemToDelete;

            //1. Get Account from DB
            using (var ctx = new EntitySaveItContext())
            {
                itemToDelete =
                    ctx.Expenses.FirstOrDefault(s => s.Id == SelectedExpense.Id);
            }

            //Create new context for disconnected scenario
            using (var newContext = new EntitySaveItContext())
            {
                newContext.Entry(itemToDelete).State = System.Data.Entity.EntityState.Deleted;

                try
                {
                    newContext.SaveChanges();
                    // remove the item to be deleted from the list
                    ExpenseList.Remove(SelectedExpense);
                    // TODO the exception is thrown when the item with the button click is deleted
                }

                catch (Exception ex)
                {
                    // TODO review this exception
                    Console.WriteLine(ex);
                }
            }
        }
Exemple #4
0
 // method to update an existing category
 public void UpdateCategory()
 {
     using (var db = new EntitySaveItContext())
     {
         var result = db.Categories.SingleOrDefault(b => b.Id == Category.Id);
         if (result != null)
         {
             result.Budget      = Category.Budget;
             result.Description = Category.Description;
             db.SaveChanges();
         }
     }
 }
Exemple #5
0
 public void SaveCategory()
 {
     if (IsUpdating)
     {
         UpdateCategory();
     }
     else
     {
         using (var db = new EntitySaveItContext())
         {
             db.Categories.Add(Category);
             db.SaveChanges();
         }
     }
 }
Exemple #6
0
 public void SaveAccount()
 {
     if (IsUpdating)
     {
         UpdateAccount();
     }
     else
     {
         using (var db = new EntitySaveItContext())
         {
             db.Accounts.Add(Account);
             db.SaveChanges();
         }
     }
 }
Exemple #7
0
 public void SaveExpense()
 {
     if (IsUpdating)
     {
         UpdateExpense();
     }
     else
     {
         using (var db = new EntitySaveItContext())
         {
             db.Expenses.Add(Expense);
             db.SaveChanges();
         }
     }
 }
Exemple #8
0
 // method to update an existing account
 public void UpdateAccount()
 {
     using (var db = new EntitySaveItContext())
     {
         var result = db.Accounts.SingleOrDefault(b => b.Id == Account.Id);
         if (result != null)
         {
             result.Type           = Account.Type;
             result.Name           = Account.Name;
             result.InitialBalance = Account.InitialBalance;
             result.AsOfDate       = Account.AsOfDate;
             db.SaveChanges();
         }
     }
 }
 public void SaveIncome()
 {
     using (var db = new EntitySaveItContext())
     {
         if (!IsUpdating)
         {
             db.Incomes.Add(Income);
             db.SaveChanges();
         }
         else
         {
             UpdateIncome();
         }
     }
 }
Exemple #10
0
 // method to update an existing expense
 public void UpdateExpense()
 {
     using (var db = new EntitySaveItContext())
     {
         var result = db.Expenses.SingleOrDefault(b => b.Id == Expense.Id);
         if (result != null)
         {
             result.Category        = Expense.Category;
             result.Description     = Expense.Description;
             result.Amount          = Expense.Amount;
             result.TransactionDate = Expense.TransactionDate;
             result.Account         = Expense.Account;
             result.Payee           = Expense.Payee;
             db.SaveChanges();
         }
     }
 }
 public void UpdateIncome()
 {
     using (var db = new EntitySaveItContext())
     {
         var result = db.Incomes.SingleOrDefault(b => b.Id == _income.Id);
         if (result != null)
         {
             result.Description = Income.Description;
             result.Amount      = Income.Amount;
             result.Payer       = Income.Payer;
             result.Date        = Income.Date;
             result.Account     = Income.Account;
             result.Comment     = Income.Comment;
             db.SaveChanges();
         }
     }
 }
        private ObservableCollection <Account> GetAccounts()
        {
            ObservableCollection <Account> myAccounts = new ObservableCollection <Account>();

            using (var db = new EntitySaveItContext())
            {
                var query = from b in db.Accounts
                            where b.Name != null
                            orderby b.Id
                            select b;

                Debug.WriteLine("All Accounts in the database:");
                foreach (var item in query)
                {
                    myAccounts.Add(item);
                }
            }
            return(myAccounts);
        }
        private ObservableCollection <Income> GetIncomes()
        {
            ObservableCollection <Income> myIncomes = new ObservableCollection <Income>();

            using (var db = new EntitySaveItContext())
            {
                var query = from b in db.Incomes
                            orderby b.Id
                            select b;

                Debug.WriteLine("All incomes in the database:");
                foreach (var item in query)
                {
                    myIncomes.Add(item);
                    TotalIncomes += Convert.ToDouble(item.Amount);
                }
            }
            return(myIncomes);
        }
        // TODO change this method to return the entire account objects
        public static List <string> GetAccountNames()
        {
            List <string> myAccounts = new List <string>();

            using (var db = new EntitySaveItContext())
            {
                var query = from b in db.Accounts
                            where b.Name != null
                            orderby b.Id
                            select b;

                Debug.WriteLine("All Accounts in the database:");
                foreach (var item in query)
                {
                    myAccounts.Add(item.Name);
                }
            }

            return(myAccounts);
        }
        private ObservableCollection <Expense> GetExpenses()
        {
            ObservableCollection <Expense> myExpenses = new ObservableCollection <Expense>();

            using (var db = new EntitySaveItContext())
            {
                // Display all Blogs from the database
                var query = from b in db.Expenses
                            orderby b.Id
                            select b;

                Debug.WriteLine("All Expenses in the database:");
                foreach (var item in query)
                {
                    myExpenses.Add(item);
                    TotalExpenses += Convert.ToDouble(item.Amount);
                }
            }

            return(myExpenses);
        }
        public void DeleteAccount()
        {
            Account accountToDelete;

            //1. Get Account from DB
            using (var ctx = new EntitySaveItContext())
            {
                accountToDelete =
                    ctx.Accounts.FirstOrDefault(s => s.Id == SelectedItem.Id);
            }

            //Create new context for disconnected scenario
            using (var newContext = new EntitySaveItContext())
            {
                newContext.Entry(accountToDelete).State = System.Data.Entity.EntityState.Deleted;

                newContext.SaveChanges();
            }

            // remove the item to be deleted from the list
            Accounts.Remove(SelectedItem);
        }
        public void DeleteItem()
        {
            Payee itemToDelete;

            //1. Get Account from DB
            using (var ctx = new EntitySaveItContext())
            {
                itemToDelete =
                    ctx.Payees.FirstOrDefault(s => s.Id == SelectedItem.Id);
            }

            //Create new context for disconnected scenario
            using (var newContext = new EntitySaveItContext())
            {
                newContext.Entry(itemToDelete).State = System.Data.Entity.EntityState.Deleted;

                try
                {
                    newContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    // TODO review this exception
                    Console.WriteLine(ex);
                    MessageBox.Show("Cannot delete this item");
                }
            }

            // remove the item to be deleted from the list
            if (SelectedItem.IsPayee)
            {
                Payees.Remove(SelectedItem);
            }
            else
            {
                Payers.Remove(SelectedItem);
            }
        }
        private void InitializeGraphData()
        {
            using (var context = new EntitySaveItContext())
            {
                var MinDate = (from emp in context.Expenses
                               select emp.TransactionDate).Min();

                var MaxDate = (from emp in context.Expenses
                               select emp.TransactionDate).Max();

                numberOfDays = DateTime.Now.Subtract(MinDate);

                var exAll = from exp in context.Expenses
                            group exp by exp.TransactionDate into exg
                            select new
                {
                    Day     = exg.Key,
                    Amounts = exg.Sum(x => x.Amount)
                };

                DateTime dt = StartOfWeek(DateTime.Now, DayOfWeek.Monday);

                var exWeek = from exp in context.Expenses
                             where exp.TransactionDate >= dt
                             group exp by exp.TransactionDate into exg
                             select new
                {
                    Day     = exg.Key,
                    Amounts = exg.Sum(x => x.Amount)
                };

                foreach (var item in exWeek)
                {
                    if (item.Day.DayOfWeek == DayOfWeek.Monday)
                    {
                        thisWeek[1] += item.Amounts;
                    }
                    if (item.Day.DayOfWeek == DayOfWeek.Tuesday)
                    {
                        thisWeek[2] += item.Amounts;
                    }
                    if (item.Day.DayOfWeek == DayOfWeek.Wednesday)
                    {
                        thisWeek[3] += item.Amounts;
                    }
                    if (item.Day.DayOfWeek == DayOfWeek.Thursday)
                    {
                        thisWeek[4] += item.Amounts;
                    }
                    if (item.Day.DayOfWeek == DayOfWeek.Friday)
                    {
                        thisWeek[5] += item.Amounts;
                    }
                    if (item.Day.DayOfWeek == DayOfWeek.Saturday)
                    {
                        thisWeek[6] += item.Amounts;
                    }
                    if (item.Day.DayOfWeek == DayOfWeek.Sunday)
                    {
                        thisWeek[0] += item.Amounts;
                    }
                }

                Avg  = numberOfDays.Days / DAYS_IN_WEEK;
                Avg += 1;

                foreach (var item in exAll)
                {
                    switch (item.Day.DayOfWeek)
                    {
                    case DayOfWeek.Monday:
                        daysOfWeek[1] += item.Amounts;
                        break;

                    case DayOfWeek.Tuesday:
                        daysOfWeek[2] += item.Amounts;
                        break;

                    case DayOfWeek.Wednesday:
                        daysOfWeek[3] += item.Amounts;
                        break;

                    case DayOfWeek.Thursday:
                        daysOfWeek[4] += item.Amounts;
                        break;

                    case DayOfWeek.Friday:
                        daysOfWeek[5] += item.Amounts;
                        break;

                    case DayOfWeek.Saturday:
                        daysOfWeek[6] += item.Amounts;
                        break;

                    case DayOfWeek.Sunday:
                        daysOfWeek[0] += item.Amounts;
                        break;
                    }
                }
            }

            SeriesCollection = new SeriesCollection
            {
                new ColumnSeries
                {
                    Title  = "Average",
                    Values = new ChartValues <double>
                    {
                        daysOfWeek[1] / Avg,
                        daysOfWeek[2] / Avg,
                        daysOfWeek[3] / Avg,
                        daysOfWeek[4] / Avg,
                        daysOfWeek[5] / Avg,
                        daysOfWeek[6] / Avg,
                        daysOfWeek[0] / Avg
                    }
                }
            };

            //adding series will update and animate the chart automatically
            SeriesCollection.Add(new ColumnSeries
            {
                Title  = "This Week",
                Values = new ChartValues <double>
                {
                    thisWeek[1],
                    thisWeek[2],
                    thisWeek[3],
                    thisWeek[4],
                    thisWeek[5],
                    thisWeek[6],
                    thisWeek[0]
                }
            });

            Labels    = new[] { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
            Formatter = value => value.ToString("N");
        }