public SDGetLineupResponse GetLineupData(SDJson sd, string lineup) { if (!stationMapData.ContainsKey(lineup)) { var thisMap = sd.GetLineup(lineup, true); if (thisMap != null) { stationMapData.Add(lineup, thisMap); return(thisMap); } } else { SDGetLineupResponse map = null; if (stationMapData.ContainsKey(lineup)) { map = stationMapData[lineup]; // Validate cache is in date. If not replace it fresh if ((map.cacheDate ?? DateTime.MinValue) <= DateTime.UtcNow.AddHours(0 - cacheExpiryHours)) { stationMapData.Remove(lineup); return(GetLineupData(sd, lineup)); } } return(map); } return(null); }
private void btnGetLineup_Click(object sender, EventArgs e) { var results = sd.GetLineup("USA-DITV501-DEFAULT", true); }