public static ExpensesVM GetAll(BPARepo bpaRepo, int budgetId)
        {
            var expenses = bpaRepo.Expense.GetAll().Where(x => x.BudgetId == budgetId).ToList();
            var expenseVMs = new List<ExpenseVM>();

            foreach (var expense in expenses)
            {
                var expenseVM = new ExpenseVM()
                {
                    Id = expense.Id,
                    BudgetId = expense.BudgetId,
                    ExpenseName = expense.ExpenseName,
                    ExpenseAmount = expense.ExpenseAmount,
                    Units = expense.Units,
                    ExpenseDate = expense.ExpenseDate,
                };
                expenseVMs.Add(expenseVM);
            }
            var model = new ExpensesVM()
            {
                Expenses = expenseVMs,
                BudgetId = budgetId,
            };
            return model;
        }
Exemplo n.º 2
0
        public void save(ExpensesVM vm)
        {
            ExpenseTbl entity = new ExpenseTbl();

            entity.TypeID  = vm.TypeID;
            entity.Expense = vm.Expense;
            _MarbalContext.Entry(entity).State = EntityState.Added;
            _MarbalContext.SaveChanges();
        }
Exemplo n.º 3
0
 public ActionResult Expenses()
 {
     try
     {
         ExpensesVM           vm    = new ExpensesVM();
         List <ExpenseTypeVM> types = new List <ExpenseTypeVM>();
         var result = _expenseTypeRepository.GetAll();
         AutoMapper.Mapper.Map(result, types);
         vm.Types = types;
         return(View(vm));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 4
0
        // TODO: use stored cached data to create VM
        internal ExpensesVM GetAllExpenses()
        {
            ExpensesVM outputExpenses = new ExpensesVM();

            using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), App.DB_PATH))
            {
                var listOfExpenseItemsByDate = (
                    from r in conn.Table <ExpenseItem>()
                    orderby r.Date descending
                    group r by r.Date into g
                    select new ExpenseItem {
                    Id = 0, Date = g.Key.ToLocalTime().Date, Amount = g.Sum((t) => (t.Amount))
                }
                    );

                ObservableCollection <ExpenseVM> expenses = new ObservableCollection <ExpenseVM>();

                // 1) list
                DateTime dateOnlyFrom = DateTime.Now.ToLocalTime().Date;                         // latch first date. Local time?

                int averageIncomePerDay = App.GlobalPersistanceService.GetAverageIncomePerDay(); // should be alread there

                foreach (ExpenseItem r in listOfExpenseItemsByDate)
                {
                    // skip to next day in DB
                    while (dateOnlyFrom > r.Date)
                    {
                        outputExpenses.AddExpense(new ExpenseVM(0, dateOnlyFrom, averageIncomePerDay));
                        dateOnlyFrom = dateOnlyFrom.AddDays(-1);
                    }
                    // eventually, store the current DB value
                    outputExpenses.AddExpense(new ExpenseVM(r.Id, r.Date, averageIncomePerDay - r.Amount));
                    dateOnlyFrom = dateOnlyFrom.AddDays(-1);
                }

                // 2) average
                outputExpenses.SetAverages(AverageExpense, averageIncomePerDay, averageIncomePerDay - AverageExpense);   // use stored value
            }

            // return built result
            return(outputExpenses);
        }
Exemplo n.º 5
0
        private void dataGridViewBind()
        {
            try
            {
                _entities = new KBBQEntities();
                List <ExpensesVM> modelList = new List <ExpensesVM>();
                int     rowNo  = 1;
                decimal?ttlAmt = 0;
                var     data   = _entities.tblExpenses.OrderBy(x => x.id).ToList();

                if (data != null)
                {
                    foreach (var item in data)
                    {
                        ExpensesVM model = new ExpensesVM();

                        model.id      = item.id;
                        model.expName = item.expName;
                        model.expBy   = item.expBy;
                        model.amount  = item.amount;
                        model.expDate = Convert.ToDateTime(item.expDate).ToString("dd-MMM-yyyy");
                        model.cdate   = item.cdate;
                        model.udate   = item.udate;

                        model.rowNo = rowNo;

                        ttlAmt += item.amount;
                        rowNo++;

                        modelList.Add(model);
                    }
                    dgvExpenses.DataSource = modelList;
                    lblTotalRecord.Text    = modelList.Count.ToString();

                    lblTotalExp.Text = ttlAmt.ToString();
                }
            }
            catch (Exception x)
            {
            }
        }
Exemplo n.º 6
0
        private void btnDatSearcsh_Click(object sender, EventArgs e)
        {
            try
            {
                _entities = new KBBQEntities();
                List <ExpensesVM> modelList = new List <ExpensesVM>();
                int     rowNo  = 1;
                decimal?ttlAmt = 0;
                var     data   = _entities.tblExpenses.Where(x => x.expDate >= dtpStartDate.Value.Date && x.expDate <= dtpExpDate.Value.Date).OrderBy(x => x.id).ToList();

                if (data != null)
                {
                    foreach (var item in data)
                    {
                        ExpensesVM model = new ExpensesVM();

                        model.id      = item.id;
                        model.expName = item.expName;
                        model.expBy   = item.expBy;
                        model.amount  = item.amount;
                        model.expDate = Convert.ToDateTime(item.expDate).ToString("dd-MMM-yyyy");
                        model.cdate   = item.cdate;
                        model.udate   = item.udate;

                        model.rowNo = rowNo;

                        ttlAmt += item.amount;
                        rowNo++;

                        modelList.Add(model);
                    }
                    dgvExpenses.DataSource = modelList;
                    lblTotalRecord.Text    = modelList.Count.ToString();

                    lblTotalExp.Text = ttlAmt.ToString();
                }
            }
            catch (Exception x)
            {
            }
        }
Exemplo n.º 7
0
        public ActionResult Expenses(ExpensesVM vm)
        {
            try
            {
                _expensesRepository.save(vm);
                Response.StatusCode = 200;
                return(Json(new
                {
                    param1 = vm.Expense,
                    param2 = _MESSAGES.SUCCESS
                }));
            }
            catch (Exception ex)
            {
                Response.StatusCode = 404;
                return(Json(new
                {
                    param1 = 0,
                    param2 = _MESSAGES.ERROR
                }));

                throw ex;
            }
        }
Exemplo n.º 8
0
 public ExpensesPage()
 {
     InitializeComponent();
     ViewModel = Resources["vm"] as ExpensesVM;
 }
Exemplo n.º 9
0
        private void ReadContactList_Loaded(object sender, RoutedEventArgs e)
        {
            ExpensesStorage dbcontacts  = new ExpensesStorage();
            AllExpensesVM   allExpenses = new AllExpensesVM();

            // everyday expenses
            ExpensesVM expenses = dbcontacts.GetAllExpenses();//Get all DB expenses

            allExpenses.Expenses = expenses;

            // unique expenses
            UniqueExpensesStorage db             = App.GlobalPersistanceService.GetUniqueExpensesStorage();
            UniqueExpensesVM      uniqueExpenses = db.GetAllUniqueExpenses();

            allExpenses.UniqueExpenses = uniqueExpenses;

            // overall
            // TODO: use DB
            //UniqueExpensesStorage db = new UniqueExpensesStorage();
            //OverallVM overall = db.GetAllUniqueExpenses();

            OverallVM overall = new OverallVM(new DateTime(2018, 03, 25), DateTime.Now, new DateTime(2018, 06, 22), App.GlobalPersistanceService.GetAverageSavingsPerDay(),
                                              new DateTime(2018, 03, 29), 7855);

            allExpenses.Overall = overall;


            this.DataContext = allExpenses;


            // use Binding, not setters!!

            //            TotalStatistics stats = new DatabaseHelperClass().GetTotalStatistics();

            //            w_TotalExpenses.Text = string.Format("{0:C}", DataConversion.ConvertCentsToCurrency(stats.m_TotalExpenses));

            // set list data - recent dates first
            //            listBoxobj.ItemsSource = DB_ContactList.OrderByDescending(i => i.Date).ToList();


            Random rand = new Random();
            List <FinancialStuff> financialStuffList = new List <FinancialStuff>();

            int   idx = 0;;
            float sum = 78.55f;

            // sum up unique expenses before first regular date
            if (allExpenses.Expenses.ExpensesList.Count > 0)
            {
                DateTime dateOnlyFrom = allExpenses.Expenses.ExpensesList[allExpenses.Expenses.ExpensesList.Count - 1].GetDateOnly().Date;
                var      uniqueExpensesBeforeTheDate = allExpenses.UniqueExpenses.ExpensesList.Where((v) => ((v.Date < dateOnlyFrom))).Sum((v) => v.SignedAmount);
                sum += uniqueExpensesBeforeTheDate;
            }

            DateTime now = DateTime.Now;

            for (int i = allExpenses.Expenses.ExpensesList.Count - 1, ei = 0; i >= ei; --i)
            {
                var r = allExpenses.Expenses.ExpensesList[i];
                sum += r.Amount;

                // get unique expenses for the date
                DateTime dateOnlyFrom             = r.GetDateOnly().Date;
                DateTime dateOnlyTo               = dateOnlyFrom.AddDays(1).Date;
                var      uniqueExpensesForTheDate = allExpenses.UniqueExpenses.ExpensesList.Where((v) => ((v.Date >= dateOnlyFrom) && (v.Date < dateOnlyTo))).Sum((v) => v.SignedAmount);

                sum += uniqueExpensesForTheDate;

                // display 30 last days (to limit amount of chart data)
                if ((DateTime.Now - r.GetDateOnly()).Days < 30)
                {
                    // add point to the chart
                    financialStuffList.Add(new FinancialStuff()
                    {
                        IdX = idx, Amount = sum
                    });
                    idx += 1;
                }
            }

            (LineChart.Series[0] as LineSeries).ItemsSource = financialStuffList;
        }
Exemplo n.º 10
0
        public ExpensesPage()
        {
            InitializeComponent();

            ViewModel = Resources["vm"] as ExpensesVM;      // refer to xaml static resource dictionary entry by its Key string value
        }
Exemplo n.º 11
0
 public NewExpensesCommand(ExpensesVM vM)
 {
     ViewModel = vM;
 }
Exemplo n.º 12
0
 public ExpensesForm( )
 {
     InitializeComponent();
     eVM = new ExpensesVM();
 }