// GET: SubCategories
        public ActionResult Index()
        {
            var expenseSubcategoryVm = new ExpenseSubCategoryViewModel();

            expenseSubcategoryVm.ListOfExpenseSubCategories = _expensesubCategoriesRepository.GetWhereWithIncludes(x => x.Id > 0, x => x.Category).ToList();
            return(View(expenseSubcategoryVm));
        }
        private ExpenseSubCategoryViewModel CreateExpenseSubCategoryViewModelWithSelectLists()
        {
            var expenseSubcategoryVm = new ExpenseSubCategoryViewModel();
            var categories           = _expenseCategoriesRepository.GetWhere(x => x.Id > 0).ToList();

            expenseSubcategoryVm.SelectListOfExpenseCategories = new SelectList(categories, "Id", "CategoryName");
            return(expenseSubcategoryVm);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            var expenseSubcategoryVm = new ExpenseSubCategoryViewModel();

            expenseSubcategoryVm.SubCategory = _expensesubCategoriesRepository.GetWhereWithIncludes(subCat => subCat.Id == id, x => x.Category).FirstOrDefault();

            _expensesubCategoriesRepository.Delete(expenseSubcategoryVm.SubCategory);
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(ExpenseSubCategoryViewModel expenseSubcategoryVm)
        {
            if (ModelState.IsValid)
            {
                _expensesubCategoriesRepository.Update(expenseSubcategoryVm.SubCategory);
                return(RedirectToAction("Index"));
            }

            expenseSubcategoryVm = CreateExpenseSubCategoryViewModelWithSelectLists();
            return(View(expenseSubcategoryVm));
        }
        // GET: SubCategories/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var expenseSubcategoryVm = new ExpenseSubCategoryViewModel();

            expenseSubcategoryVm.SubCategory = _expensesubCategoriesRepository.GetWhereWithIncludes(subCat => subCat.Id == id, x => x.Category).FirstOrDefault();
            if (expenseSubcategoryVm.SubCategory == null)
            {
                return(HttpNotFound());
            }
            return(View(expenseSubcategoryVm));
        }