Ejemplo n.º 1
0
        public IEnumerable <TraceableBalance> GetMonthlyBalances() //Gets list of every year-month balances
        {
            List <TraceableIncome>  tIncomes  = (List <TraceableIncome>)IncomeController.Instance().GetMonthlyIncomes();
            List <TraceableExpense> tExpenses = (List <TraceableExpense>)ExpenseController.Instance().GetMonthlyExpenses();
            List <TraceableBalance> tBalances = new List <TraceableBalance>();

            for (int i = 0; i < tIncomes.Count; i++)
            {
                if (tIncomes[i].DateID == tExpenses[i].DateID)
                {
                    TraceableBalance tBalance = new TraceableBalance()
                    {
                        Amount = tIncomes[i].Amount - tExpenses[i].Amount,
                        Year   = tIncomes[i].Year,
                        Month  = tIncomes[i].Month,
                        DateID = tIncomes[i].DateID
                    };
                    tBalances.Add(tBalance);
                }
                else
                {
                    throw new Exception("Balances cannot be calculated because of missing income or expense data, or errors in parsing data");
                }
            }
            return(tBalances);
        }
Ejemplo n.º 2
0
        private static IncomeController _instance = null; //Singleton pattern

        public static IncomeController Instance()         //Lazy Load initiation
        {
            if (_instance == null)
            {
                _instance = new IncomeController();
            }
            return(_instance);
        }
Ejemplo n.º 3
0
        public IEnumerable <Balance> ChartRepresenation()
        {
            IEnumerable <ExpenseDB> _expenses = ExpenseController.Instance().ParseExpenses();
            IEnumerable <IncomeDB>  _incomes  = IncomeController.Instance().ParseIncomes();
            var expenses = from expense in _expenses
                           orderby expense.expenseDate ascending
                           group expense.expenseAmount by new
            {
                Year  = expense.expenseDate.Year,
                Month = expense.expenseDate.Month                                 // LINQ using
            } into g
                select new Result
            {
                monthAndYear = g.Key.Year + "-" + g.Key.Month,
                Year         = g.Key.Year,
                Month        = g.Key.Month,
                amount       = g.Sum(),
                Type         = "Expense"
            };

            var incomes = from income in _incomes
                          orderby income.incomeDate ascending
                          group income.incomeAmount by new
            {
                Year  = income.incomeDate.Year,
                Month = income.incomeDate.Month
            } into g
                select new Result
            {
                monthAndYear = g.Key.Year + "-" + g.Key.Month,
                Year         = g.Key.Year,
                Month        = g.Key.Month,
                amount       = g.Sum(),
                Type         = "Income"
            };

            var _join   = incomes.Concat(expenses);
            var results = from p in _join
                          orderby p.monthAndYear ascending
                          select new Result
            {
                monthAndYear = p.monthAndYear,
                Year         = p.Year,
                Month        = p.Month,
                amount       = p.amount,
                Type         = p.Type
            };

            var _get = from h in CalculateEqual(results).ToList()
                       orderby h.Year, h.Month ascending
            select h;

            return(_get.ToList());
        }
Ejemplo n.º 4
0
        public IEnumerable <Balance> ChartRepresenationForOneUser(String username, String password)
        {
            IEnumerable <ExpenseDB> _expenses = ExpenseController.Instance().ParseOneUserExpenses(username, password);
            IEnumerable <IncomeDB>  _incomes  = IncomeController.Instance().parseOneUserIncomes(username, password);
            var expenses = from expense in _expenses
                           orderby expense.expenseDate ascending
                           group expense.expenseAmount by new
            {
                Year  = expense.expenseDate.Year,
                Month = expense.expenseDate.Month                                // LINQ using
            } into g
                select new Result
            {
                monthAndYear = g.Key.Year + "-" + g.Key.Month,
                Year         = g.Key.Year,
                Month        = g.Key.Month,
                amount       = g.Sum(),
                Type         = "Expense"
            };

            var incomes = from income in _incomes
                          orderby income.incomeDate ascending
                          group income.incomeAmount by new
            {
                Year  = income.incomeDate.Year,
                Month = income.incomeDate.Month
            } into g
                select new Result
            {
                monthAndYear = g.Key.Year + "-" + g.Key.Month,
                Year         = g.Key.Year,
                Month        = g.Key.Month,
                amount       = g.Sum(),
                Type         = "Income"
            };

            var o       = incomes.Concat(expenses);
            var results = from p in o
                          orderby p.monthAndYear ascending
                          select new Result
            {
                monthAndYear = p.monthAndYear,
                Year         = p.Year,
                Month        = p.Month,
                amount       = p.amount,
                Type         = p.Type
            };

            var gautas = from h in CalculateEqualForOneUser(results, username, password).ToList()
                         orderby h.Year, h.Month ascending
            select h;

            return(gautas.ToList());
        }
Ejemplo n.º 5
0
 public decimal GetOneUserMonthlyBalance(String username, String password)
 {
     return(IncomeController.Instance().OneUserMonthlyIncome(username, password) - ExpenseController.Instance().OneUserMonthlyExpenses(username, password));
 }
Ejemplo n.º 6
0
 public decimal GetMonthlyBalance()
 {
     return(IncomeController.Instance().MonthlyIncome() - ExpenseController.Instance().MonthlyExpenses());
 }
Ejemplo n.º 7
0
 public decimal GetMonthlyIncome()
 {
     return(IncomeController.Instance().MonthlyIncome());
 }