Skip to content

Commit 940ea04

Browse files
committed
cleanup C# SDK [#11]
1 parent 50eb0b9 commit 940ea04

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

BunqSdk/Json/InstallationConverter.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,19 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
2525
JsonSerializer serializer)
2626
{
2727
var jObjects = JArray.Load(reader).ToObject<List<JObject>>();
28-
var id = jObjects[INDEX_ID].GetValue(FIELD_ID).ToObject<Id>();
29-
var token = jObjects[INDEX_TOKEN].GetValue(FIELD_TOKEN).ToObject<SessionToken>();
30-
var publicKeyServer = jObjects[INDEX_SERVER_PUBLIC_KEY].GetValue(FIELD_SERVER_PUBLIC_KEY)
31-
.ToObject<PublicKeyServer>();
28+
var id = FetchObject<Id>(jObjects[INDEX_ID], FIELD_ID);
29+
var token = FetchObject<SessionToken>(jObjects[INDEX_TOKEN], FIELD_TOKEN);
30+
var publicKeyServer =
31+
FetchObject<PublicKeyServer>(jObjects[INDEX_SERVER_PUBLIC_KEY], FIELD_SERVER_PUBLIC_KEY);
3232

3333
return new Installation(id, token, publicKeyServer);
3434
}
3535

36+
private static T FetchObject<T>(JToken jToken, string fieldName)
37+
{
38+
return jToken[fieldName].ToObject<T>();
39+
}
40+
3641
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
3742
{
3843
throw new NotImplementedException();

BunqSdk/Model/BunqModel.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ public abstract class BunqModel
1616
private const string FIELD_ID = "Id";
1717
private const string FIELD_UUID = "Uuid";
1818

19+
/// <summary>
20+
/// Index of the very first item in an array.
21+
/// </summary>
22+
private const int INDEX_FIRST = 0;
23+
1924
/// <summary>
2025
/// De-serializes an object from a JSON format specific to Installation and SessionServer.
2126
/// </summary>
@@ -46,7 +51,7 @@ private static JObject GetResponseContent(BunqResponseRaw responseRaw)
4651
var json = Encoding.UTF8.GetString(responseRaw.BodyBytes);
4752
var responseWithWrapper = BunqJsonConvert.DeserializeObject<JObject>(json);
4853

49-
return responseWithWrapper.GetValue(FIELD_RESPONSE).ToObject<JArray>().Value<JObject>(0);
54+
return responseWithWrapper.GetValue(FIELD_RESPONSE).ToObject<JArray>().Value<JObject>(INDEX_FIRST);
5055
}
5156

5257
private static string GetWrappedContentString(JObject json, string wrapper)

0 commit comments

Comments
 (0)