public async Task <ActionResult <Borrower> > GetById(string id) { var borrower = await _borrowerService.GetByIdAsync(id); if (borrower == null) { return(NotFound()); } var loans = await _loanService.GetByBorrowerIdAsync(id); if (loans.Any()) { borrower.Loans = new List <Loan>(); foreach (var loan in loans) { var collections = await _collectionService.GetByLoanIdAsync(loan.Id); if (collections.Any()) { loan.LoanCollections = new List <LoanCollection>(); foreach (var collection in collections) { loan.LoanCollections.Add(collection); } } borrower.Loans.Add(loan); } } return(Ok(borrower)); }