1
1
using System ;
2
- using System . Collections . Generic ;
3
2
using Bunq . Sdk . Model ;
4
3
using Bunq . Sdk . Model . Generated ;
5
4
using Newtonsoft . Json ;
@@ -26,19 +25,19 @@ public class SessionServerConverter : JsonConverter
26
25
public override object ReadJson ( JsonReader reader , Type objectType , object existingValue ,
27
26
JsonSerializer serializer )
28
27
{
29
- var jObjects = JArray . Load ( reader ) . ToObject < List < JObject > > ( ) ;
30
- var id = GetByIndexAndFieldName ( jObjects , INDEX_ID , FIELD_ID ) . ToObject < Id > ( ) ;
31
- var token = GetByIndexAndFieldName ( jObjects , INDEX_TOKEN , FIELD_TOKEN ) . ToObject < SessionToken > ( ) ;
28
+ var jObjects = JArray . Load ( reader ) ;
29
+ var id = FetchObject < Id > ( jObjects [ INDEX_ID ] , FIELD_ID ) ;
30
+ var token = FetchObject < SessionToken > ( jObjects [ INDEX_TOKEN ] , FIELD_TOKEN ) ;
32
31
var userBody = jObjects [ INDEX_USER ] ;
33
32
34
33
return userBody [ FIELD_USER_COMPANY ] == null
35
- ? new SessionServer ( id , token , userBody . GetValue ( FIELD_USER_PERSON ) . ToObject < UserPerson > ( ) )
36
- : new SessionServer ( id , token , userBody . GetValue ( FIELD_USER_COMPANY ) . ToObject < UserCompany > ( ) ) ;
34
+ ? new SessionServer ( id , token , FetchObject < UserPerson > ( userBody , FIELD_USER_PERSON ) )
35
+ : new SessionServer ( id , token , FetchObject < UserCompany > ( userBody , FIELD_USER_COMPANY ) ) ;
37
36
}
38
37
39
- private static JToken GetByIndexAndFieldName ( IReadOnlyList < JObject > jObjects , int index , string fieldName )
38
+ private static T FetchObject < T > ( JToken jToken , string fieldName )
40
39
{
41
- return jObjects [ index ] . GetValue ( fieldName ) ;
40
+ return jToken [ fieldName ] . ToObject < T > ( ) ;
42
41
}
43
42
44
43
public override void WriteJson ( JsonWriter writer , object value , JsonSerializer serializer )
0 commit comments