11using System ;
2- using System . Collections . Generic ;
32using Bunq . Sdk . Model ;
43using Bunq . Sdk . Model . Generated ;
54using Newtonsoft . Json ;
@@ -26,19 +25,19 @@ public class SessionServerConverter : JsonConverter
2625 public override object ReadJson ( JsonReader reader , Type objectType , object existingValue ,
2726 JsonSerializer serializer )
2827 {
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 ) ;
3231 var userBody = jObjects [ INDEX_USER ] ;
3332
3433 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 ) ) ;
3736 }
3837
39- private static JToken GetByIndexAndFieldName ( IReadOnlyList < JObject > jObjects , int index , string fieldName )
38+ private static T FetchObject < T > ( JToken jToken , string fieldName )
4039 {
41- return jObjects [ index ] . GetValue ( fieldName ) ;
40+ return jToken [ fieldName ] . ToObject < T > ( ) ;
4241 }
4342
4443 public override void WriteJson ( JsonWriter writer , object value , JsonSerializer serializer )
0 commit comments