This commit is contained in:
tidusjar 2016-04-06 23:08:00 +01:00
commit 3efd54c1b6
7 changed files with 57 additions and 15 deletions

View file

@ -87,6 +87,12 @@
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PlexRequests.Helpers\PlexRequests.Helpers.csproj">
<Project>{1252336D-42A3-482A-804C-836E60173DFA}</Project>
<Name>PlexRequests.Helpers</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

View file

@ -1,6 +1,6 @@
namespace PlexRequests.Api.Models.SickRage
{
public class SickRageBase<T>
public abstract class SickRageBase<T>
{
public T data { get; set; }
public string message { get; set; }

View file

@ -1,6 +1,33 @@
namespace PlexRequests.Api.Models.SickRage
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using PlexRequests.Helpers;
namespace PlexRequests.Api.Models.SickRage
{
public class SickRageSeasonList : SickRageBase<int[]>
public class SickRageSeasonList : SickRageBase<object>
{
[JsonIgnore]
public int[] Data => ParseObjectToArray<int>(data);
protected T[] ParseObjectToArray<T>(object ambiguousObject)
{
var json = ambiguousObject.ToString();
if (string.IsNullOrWhiteSpace(json))
{
return new T[0]; // Could return null here instead.
}
if (json.TrimStart().StartsWith("["))
{
return JsonConvert.DeserializeObject<T[]>(json);
}
if (json.TrimStart().Equals("{}"))
{
return new T[0];
}
return new T[1] { JsonConvert.DeserializeObject<T>(json) };
}
}
}