private async Task <List <BudgetHeadDto> > GetChildBudgetHead(long parentId) { var budgetHeadDto = new BudgetHeadDto(); List <BudgetHeadDto> budgetHeadDtoList = new List <BudgetHeadDto>(); var childBudgetHeadDto = new BudgetHeadDto(); var childBudgetHead = await _unitOfWork.BudgetHeads.GetChildren(parentId); foreach (var cc in childBudgetHead) { List <BudgetHeadDto> childBudgetHeadDtoList = new List <BudgetHeadDto>(); childBudgetHeadDtoList = await GetChildBudgetHead(cc.Id); budgetHeadDto = _mapper.Map <BudgetHead, BudgetHeadDto>(cc); budgetHeadDto.ChildBudgetHead = childBudgetHeadDtoList; budgetHeadDtoList.Add(budgetHeadDto); } return(budgetHeadDtoList); }
public async Task <IActionResult> GetTree() { var budgetHeads = await _unitOfWork.BudgetHeads.GetParents(); if (budgetHeads.Count == 0) { return(BadRequest("No BudgetHeads exist")); } var budgetHeadDto = new BudgetHeadDto(); List <BudgetHeadDto> budgetHeadDtoList = new List <BudgetHeadDto>(); foreach (var itemType in budgetHeads) { List <BudgetHeadDto> childbudgetHeadDtoList = new List <BudgetHeadDto>(); childbudgetHeadDtoList = await GetChildBudgetHead(itemType.Id); budgetHeadDto = _mapper.Map <BudgetHead, BudgetHeadDto>(itemType); budgetHeadDto.ChildBudgetHead = childbudgetHeadDtoList; budgetHeadDtoList.Add(budgetHeadDto); } return(Ok(budgetHeadDtoList)); }