public ActionResult Save(CashFlowSetupFormViewModel cashfsViewModel)
 {
     if (!ModelState.IsValid)
     {
         return(View("CashFlowSetupForm", cashfsViewModel));
     }
     //else continue with new or edit
     if (cashfsViewModel.CashFlowSetup.Id == 0) //means it's a new one
     {
         var cashfs = cashfsViewModel.CashFlowSetup;
         _context.CashFlowSetups.Add(cashfs);
         _context.SaveChanges();
     }
     else
     {
         var cashfsInDb = _context.CashFlowSetups.Find(cashfsViewModel.CashFlowSetup.Id);
         if (cashfsInDb == null)
         {
             return(HttpNotFound());
         }
         cashfsInDb.AccountMasterId   = cashfsViewModel.CashFlowSetup.AccountMasterId;
         cashfsInDb.CashFlowHeadingId = cashfsViewModel.CashFlowSetup.CashFlowHeadingId;
         _context.SaveChanges();
     }
     return(RedirectToAction("Index"));
 }
        //edit existing cash flow setup
        public ActionResult Edit(int id)
        {
            var cashfsInDb      = _context.CashFlowSetups.Find(id);
            var cashfsViewModel = new CashFlowSetupFormViewModel
            {
                ActionIndicator  = 2,
                AccountMasters   = _context.AccountMasters.ToList(),
                CashFlowHeadings = _context.CashFlowHeadings.ToList(),
                CashFlowSetup    = cashfsInDb
            };

            return(View("CashFlowSetupForm", cashfsViewModel));
        }
        //create new cash flow setup
        public ActionResult New()
        {
            var cashfs = new CashFlowSetup
            {
                Id = 0
            };
            var cashfsViewModel = new CashFlowSetupFormViewModel
            {
                ActionIndicator  = 1,
                AccountMasters   = _context.AccountMasters.ToList(),
                CashFlowHeadings = _context.CashFlowHeadings.ToList(),
                CashFlowSetup    = cashfs
            };

            return(View("CashFlowSetupForm", cashfsViewModel));
        }