public IActionResult GetLatestMonthlyBalances()
        {
            try
            {
                MonthlyBalanceViewModel viewModelToReturn = new MonthlyBalanceViewModel();

                List <MonthlyBalance> latestMonthlyBalances = accountDataService.GetLatestAccountBalances().ToList();

                if (latestMonthlyBalances.Count > 0)
                {
                    viewModelToReturn.DisplayMonth             = latestMonthlyBalances.First().Month;
                    viewModelToReturn.MonthlyBalanceViewModels = new List <MonthlyAccountBalanceViewModel>();

                    foreach (var accMonthlyBalnace in latestMonthlyBalances)
                    {
                        MonthlyAccountBalanceViewModel monthlyAccountBalanceViewModel = new MonthlyAccountBalanceViewModel()
                        {
                            DisplayAccountBalance = accMonthlyBalnace.Balance,
                            DisplayAccountName    = accMonthlyBalnace.Account.Name
                        };

                        viewModelToReturn.MonthlyBalanceViewModels.Add(monthlyAccountBalanceViewModel);
                    }
                }
                return(Ok(viewModelToReturn));
            }
            catch (Exception e)
            {
                return(StatusCode(500));
            }
        }
        public IActionResult Get()
        {
            try
            {
                List <MonthlyBalanceViewModel> monthlyBalanceList = new List <MonthlyBalanceViewModel>();

                List <MonthlyBalance> monthlyBalances = accountDataService.GetMonthlyBalances().ToList();

                if (monthlyBalances.Count > 0)
                {
                    var groupedBalances = monthlyBalances.GroupBy <MonthlyBalance, int>(mb => mb.Order);

                    foreach (var groupedBalanceSet in groupedBalances)
                    {
                        MonthlyBalanceViewModel mothlyBalanceToAdd = new MonthlyBalanceViewModel()
                        {
                            DisplayMonth             = groupedBalanceSet.First().Month,
                            Order                    = groupedBalanceSet.First().Order,
                            MonthlyBalanceViewModels = new List <MonthlyAccountBalanceViewModel>()
                        };

                        foreach (var accountMonthlyBalance in groupedBalanceSet)
                        {
                            MonthlyAccountBalanceViewModel monthlyAccountBalanceViewModel = new MonthlyAccountBalanceViewModel()
                            {
                                DisplayAccountBalance = accountMonthlyBalance.Balance,
                                DisplayAccountName    = accountMonthlyBalance.Account.Name
                            };

                            mothlyBalanceToAdd.MonthlyBalanceViewModels.Add(monthlyAccountBalanceViewModel);
                        }

                        monthlyBalanceList.Add(mothlyBalanceToAdd);
                    }
                }

                return(Ok(monthlyBalanceList.OrderBy(mb => mb.Order)));
            }



            catch (Exception)
            {
                return(StatusCode(500));
            }
        }