public ActionResult Summary()
        {
            ManageBudgetViewModel budgetSummaryViewModel = new ManageBudgetViewModel();

            using (budgetRepository)
            {
                DataSet budgetSummaryResult = budgetRepository.GetBudgetSummary();

                budgetSummaryViewModel.BudgetDetails = budgetSummaryResult.Tables[0].AsEnumerable().Select(summary => new BudgetDetails()
                {
                    BudgetName             = summary.Field <string>("Name"),
                    BudgetDescription      = summary.Field <string>("Description"),
                    SelectedCategory       = summary.Field <string>("Category"),
                    StartDate              = summary.Field <DateTime>("StartDate"),
                    EndDate                = summary.Field <DateTime>("EndDate"),
                    MaximumAmountAllocated = summary.Field <decimal?>("MaxAmount").GetDefaultValueIfNull <string>(),
                    SpentAmount            = summary.Field <decimal?>("SpentAmount") ?? 0,
                    Level = new ToolTipLabel
                    {
                        LabelText   = summary.Field <int>("Level").GetEnumAttributeFromValue <BudgetLevels>(EnumAttributeTypes.DisplayIcon),
                        ToolTipText = summary.Field <int>("Level").GetEnumAttributeFromValue <BudgetLevels>(EnumAttributeTypes.Description)
                    },
                    Status = new ToolTipLabel
                    {
                        LabelText   = summary.Field <int>("Status").GetEnumAttributeFromValue <BudgetStatus>(EnumAttributeTypes.DisplayIcon),
                        ToolTipText = summary.Field <int>("Status").GetEnumAttributeFromValue <BudgetStatus>(EnumAttributeTypes.Description)
                    }
                }).ToList();
            }

            budgetSummaryViewModel.BudgetDetails = budgetSummaryViewModel.BudgetDetails ?? new List <BudgetDetails>();
            return(View("Summary", budgetSummaryViewModel));
        }
        public ActionResult ViewBudget()
        {
            DataSet budgetListSet = budgetRepository.GetAvailableBudgets(SessionUserId);
            List <BudgetDetails> budgetViewModel = new List <BudgetDetails>();
            BudgetLookUp         budgetLookUp    = new BudgetLookUp();

            if (budgetListSet.Tables.Count > 0)
            {
                budgetViewModel = budgetListSet.Tables[0].AsEnumerable().Select(result => new BudgetDetails
                {
                    BudgetId               = result.Field <int?>("BudgetId"),
                    BudgetName             = result.Field <string>("Name"),
                    BudgetDescription      = result.Field <string>("Description"),
                    StartDate              = result.Field <DateTime>("StartDate"),
                    EndDate                = result.Field <DateTime>("EndDate"),
                    IsActive               = result.Field <bool?>("IsActive").GetDefaultValueIfNull <bool>(),
                    SelectedCategory       = result.Field <string>("Category"),
                    CreatedBy              = result.Field <string>("CreatedBy"),
                    MinimumAmountAllocated = result.Field <decimal>("MinAmount").GetDefaultValueIfNull <string>(),
                    MaximumAmountAllocated = result.Field <decimal>("MaxAmount").GetDefaultValueIfNull <string>(),
                    CanExceedMaximumAmount = result.Field <bool>("CanExceedMaximumAmount").GetDefaultValueIfNull <bool>()
                }).ToList();

                budgetLookUp.Category = budgetListSet.Tables[1].AsEnumerable().ToDictionary <DataRow, string, string>(
                    result => result.Field <int>("CategoryId").GetDefaultValueIfNull <string>(),
                    result => result.Field <string>("CategoryName").GetDefaultValueIfNull <string>()
                    );
            }

            ManageBudgetViewModel manageBudgetData = new ManageBudgetViewModel
            {
                BudgetDetails    = budgetViewModel,
                BudgetLookUpData = budgetLookUp
            };

            manageBudgetData.BudgetDetails = budgetViewModel;
            return(View("ViewBudget", manageBudgetData));
        }