public async Task <IList <ExtendedBranchDto> > GetBranchesAsync(string projectId) { IList <ExtendedBranchDto> branches = null; if (!_cacheService.TryGetBranches(projectId, out branches)) { var branchesDto = await _branchesClient.Get(projectId); if (branchesDto == null) { return(null); } branches = branchesDto.Select(x => CreateExtendedBranchDto(x)).ToList(); _cacheService.AddBranches(projectId, branches); } return(branches); }