Support for Int64 in SchemaBuilder

This commit is contained in:
Mark McDowall 2013-12-11 16:41:58 -08:00
parent 647ea5456b
commit 182743e653
3 changed files with 29 additions and 5 deletions

View File

@ -73,14 +73,26 @@ namespace NzbDrone.Api.ClientSchema
if (propertyInfo.PropertyType == typeof(Int32)) if (propertyInfo.PropertyType == typeof(Int32))
{ {
var intValue = Convert.ToInt32(field.Value); var value = Convert.ToInt32(field.Value);
propertyInfo.SetValue(target, intValue, null); propertyInfo.SetValue(target, value, null);
}
if (propertyInfo.PropertyType == typeof(Int64))
{
var value = Convert.ToInt64(field.Value);
propertyInfo.SetValue(target, value, null);
} }
else if (propertyInfo.PropertyType == typeof(Nullable<Int32>)) else if (propertyInfo.PropertyType == typeof(Nullable<Int32>))
{ {
var intValue = field.Value.ToString().ParseInt32(); var value = field.Value.ToString().ParseInt32();
propertyInfo.SetValue(target, intValue, null); propertyInfo.SetValue(target, value, null);
}
else if (propertyInfo.PropertyType == typeof(Nullable<Int64>))
{
var value = field.Value.ToString().ParseInt64();
propertyInfo.SetValue(target, value, null);
} }
else else

View File

@ -15,5 +15,17 @@ namespace NzbDrone.Common
return null; return null;
} }
public static Nullable<long> ParseInt64(this string source)
{
Int64 result = 0;
if (Int64.TryParse(source, out result))
{
return result;
}
return null;
}
} }
} }

View File

@ -13,6 +13,6 @@ namespace NzbDrone.Core.Notifications.PushBullet
} }
} }
public string ApiKey { get; set; } public string ApiKey { get; set; }
public int DeviceId { get; set; } public long DeviceId { get; set; }
} }
} }