public async Task<Listing> GetMessages(int? limit)
{
var maxLimit = (await UserIsGold()) ? 1500 : 100;
var guardedLimit = Math.Min(maxLimit, limit ?? maxLimit);
var targetUri = string.Format("http://www.reddit.com/message/inbox/.json?limit={0}", guardedLimit);
try
{
var messages = await _simpleHttpService.SendGet(await GetCurrentLoginCookie(), targetUri);
if (messages == "\"{}\"")
{
return new Listing { Kind = "Listing", Data = new ListingData { Children = new List<Thing>() } };
}
// Hacky hack mcHackerson
messages = messages.Replace("\"kind\": \"t1\"", "\"kind\": \"t4.5\"");
return JsonConvert.DeserializeObject<Listing>(messages);
}
catch (Exception ex)
{
_notificationService.CreateErrorNotification(ex);
return new Listing { Kind = "Listing", Data = new ListingData { Children = new List<Thing>() } };
}
}