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; }
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(); }
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; } }
// 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); }
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) { } }
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) { } }
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; } }
public ExpensesPage() { InitializeComponent(); ViewModel = Resources["vm"] as ExpensesVM; }
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; }
public ExpensesPage() { InitializeComponent(); ViewModel = Resources["vm"] as ExpensesVM; // refer to xaml static resource dictionary entry by its Key string value }
public NewExpensesCommand(ExpensesVM vM) { ViewModel = vM; }
public ExpensesForm( ) { InitializeComponent(); eVM = new ExpensesVM(); }