public ActionResult EditExpense(EditExpenseViewModel viewModel)
 {
     if (!ModelState.IsValid)
     return View(viewModel);
       viewModel.Expense.ExpenseTypeId = viewModel.SelectedExpenseTypeId;
       this.SaveEntity<Expense>(viewModel.Expense);
       return RedirectToAction("Expenses");
 }
 public ViewResult CreateExpense()
 {
     var viewModel = new EditExpenseViewModel()
       {
     Expense = this.session.Repository<Expense>().Create(),
     ExpenseTypes = this.session.Repository<ExpenseType>().GetAll().ToList()
       };
       viewModel.Expense.CreationDateTime = DateTime.Now;
       return View("EditExpense", viewModel);
 }
 public ViewResult EditExpense(int id)
 {
     var expense = this.session.Repository<Expense>().Get(id);
       var viewModel = new EditExpenseViewModel()
       {
     Expense = expense,
     ExpenseTypes = this.session.Repository<ExpenseType>().GetAll().ToList(),
     SelectedExpenseTypeId = expense.ExpenseTypeId.HasValue ? expense.ExpenseTypeId.Value : 0
       };
       viewModel.Expense.CreationDateTime = DateTime.Now;
       return View(viewModel);
 }