public ActionResult AddExpense(ExpenseCart cart, ExpenseFormViewModel ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("AddExpense", ViewModel));
            }

            var userId = User.Identity.GetUserId();

            VPExpenseHistory history = new VPExpenseHistory
            {
                ModifyBy = User.Identity.GetUserName(),
            };

            VPExpenseItem item = new VPExpenseItem
            {
                Amount      = ViewModel.Amount,
                ExpenseDate = ViewModel.GetDateTime(),
                UserId      = userId,
                Description = ViewModel.Description
            };

            cart.AddItem(item);

            return(RedirectToAction("Create", "Expense"));
        }
 public ViewResult List(ExpenseCart cart)
 {
     return(View(new ExpenseCartViewModel()
     {
         Cart = cart,
     }));
 }
        public object BindModel(ControllerContext controllerContext,
                                ModelBindingContext bindingContext)
        {
            // get the Cart from the session
            ExpenseCart cart = null;

            if (controllerContext.HttpContext.Session != null)
            {
                cart = (ExpenseCart)controllerContext.HttpContext.Session[sessionKey];
            }
            // create the Cart if there wasn't one in the session data
            if (cart == null)
            {
                cart = new ExpenseCart();
                if (controllerContext.HttpContext.Session != null)
                {
                    controllerContext.HttpContext.Session[sessionKey] = cart;
                }
            }
            // return the cart
            return(cart);
        }
        public ActionResult List(ExpenseCart cart, string description)
        {
            var userId = User.Identity.GetUserId();

            var expense = cart.GetExpense();

            expense.UserId      = userId;
            expense.ModifyDate  = DateTime.Now;
            expense.ExpenseDate = DateTime.Now;
            expense.Description = description;
            expense.ModifyBy    = User.Identity.GetUserName();
            expense.Status      = Status.WaitingApprove;

            VPExpenseHistory history = new VPExpenseHistory
            {
                ModifyBy   = User.Identity.GetUserName(),
                ModifyDate = DateTime.Now
            };

            ExpenseRepository.AddExpense(expense);
            cart.Clear();
            return(RedirectToAction("Index", "Home"));
        }