public async Task <IActionResult> GetAllEntities <TNode>(string nodeId)
     where TNode : class
 {
     if (typeof(TNode).IsAssignableFrom(typeof(Specification)))
     {
         return(await ExecuteRepositoryAction(() => _specRepository.GetAllEntities(nodeId), $"Unable to retrieve all entities for {typeof(TNode).Name.ToLowerInvariant()}."));
     }
     else if (typeof(TNode).IsAssignableFrom(typeof(Calculation)))
     {
         return(await ExecuteRepositoryAction(() => _calcRepository.GetAllEntities(nodeId), $"Unable to retrieve all entities for {typeof(TNode).Name.ToLowerInvariant()}."));
     }
     else if (typeof(TNode).IsAssignableFrom(typeof(DataField)))
     {
         return(await ExecuteRepositoryAction(() => _datasetRepository.GetAllEntities(nodeId), $"Unable to retrieve all entities for {typeof(TNode).Name.ToLowerInvariant()}."));
     }
     else if (typeof(TNode).IsAssignableFrom(typeof(FundingLine)))
     {
         return(await ExecuteRepositoryAction(() => _fundingLineRepository.GetAllEntities(nodeId), $"Unable to retrieve all entities for {typeof(TNode).Name.ToLowerInvariant()}."));
     }
     else
     {
         throw new NotImplementedException();
     }
 }