@@ -43,7 +43,7 @@ public DanClient(HttpClient httpClient, IOptions<DanSettings> settings, IService
4343 /// </summary>
4444 /// <param name="dataset">Dataset from Dan</param>
4545 /// <param name="subject">Usually ssn or orgNumber</param>
46- /// <param name="jmesPath">jmesPath - usd to filter out just the fields we need </param>
46+ /// <param name="fields">The fields we fetch from the api </param>
4747 /// <returns></returns>
4848 public async Task < Dictionary < string , string > > GetDataset ( string dataset , string subject , string fields )
4949 {
@@ -74,7 +74,7 @@ public async Task<Dictionary<string, string>> GetDataset(string dataset, string
7474 var dictionary = new Dictionary < string , string > ( ) ;
7575 var resultJson = result . Content . ReadAsStringAsync ( ) . Result ;
7676
77- //some datasets might return an array. The array need to be serialized differently than a single object
77+ //some datasets might return an array. The array needs to be serialized differently than a single object
7878 if ( IsJsonArray ( resultJson ) )
7979 {
8080 dictionary = await ConvertListToDictionary ( resultJson ) ;
@@ -98,18 +98,20 @@ private async Task<JwtToken> GetMaskinportenToken()
9898 return token ;
9999 }
100100
101- private async Task < Dictionary < string , string > > ConvertListToDictionary ( string jsonString )
101+ private static Task < Dictionary < string , string > > ConvertListToDictionary ( string jsonString )
102102 {
103103 var list = JsonConvert . DeserializeObject < List < Dictionary < string , string > > > ( jsonString ) ;
104-
105- var mergedDictionary = list . SelectMany ( d => d )
106- . GroupBy ( kvp => kvp . Key )
107- . ToDictionary ( g => g . Key , g => string . Join ( "," , g . Select ( x => x . Value ) ) ) ;
108-
109- return mergedDictionary ;
104+ if ( list != null )
105+ return Task . FromResult (
106+ list . SelectMany ( d => d )
107+ . GroupBy ( kvp => kvp . Key )
108+ . ToDictionary ( g => g . Key , g => string . Join ( "," , g . Select ( x => x . Value ) ) )
109+ ) ;
110+
111+ return Task . FromResult ( new Dictionary < string , string > ( ) ) ;
110112 }
111113
112- private bool IsJsonArray ( string jsonString )
114+ private static bool IsJsonArray ( string jsonString )
113115 {
114116 try
115117 {
@@ -122,11 +124,11 @@ private bool IsJsonArray(string jsonString)
122124 }
123125 }
124126
125- private List < string > GetQuery ( string json )
127+ private static List < string > GetQuery ( string json )
126128 {
127129 var list = JsonSerializer . Deserialize < List < Dictionary < string , string > > > ( json ) ;
128-
129- var keys = list . Where ( l => l . Any ( ) ) . Select ( l => l . Keys . First ( ) ) . ToList ( ) ;
130- return keys ;
130+ if ( list != null )
131+ return list . Where ( l => l . Count != 0 ) . Select ( l => l . Keys . First ( ) ) . ToList ( ) ;
132+ return new List < string > ( ) ;
131133 }
132134}
0 commit comments