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)); } }