public GetNowAndNext ( List |
||
aEpgChannelList | List |
|
return | NowAndNext>.Dictionary |
private Dictionary<int, NowAndNext> GetNowAndNext(List<Channel> tvChannelList, DateTime nextEPGupdate) { Dictionary<int, NowAndNext> getNowAndNextSegment = new Dictionary<int, NowAndNext>(); Dictionary<int, NowAndNext> getNowAndNext = new Dictionary<int, NowAndNext>(); int idGroup = TVHome.Navigator.CurrentGroup.IdGroup; TvBusinessLayer layer = new TvBusinessLayer(); if (_listNowNext.TryGetValue(idGroup, out getNowAndNext)) { bool updateNow = (DateTime.Now >= nextEPGupdate); if (updateNow) { getNowAndNext = new Dictionary<int, NowAndNext>(); List<List<Channel>> tvChannelListSegments = SplitChannelList(tvChannelList, 100); foreach (List<Channel> tvChannelListSegment in tvChannelListSegments) { getNowAndNextSegment = layer.GetNowAndNext(tvChannelListSegment); getNowAndNext = getNowAndNext.Concat(getNowAndNextSegment).ToDictionary(x => x.Key, x => x.Value); } _listNowNext[idGroup] = getNowAndNext; } } else { getNowAndNext = new Dictionary<int, NowAndNext>(); List<List<Channel>> tvChannelListSegments = SplitChannelList(tvChannelList, 100); foreach (List<Channel> tvChannelListSegment in tvChannelListSegments) { getNowAndNextSegment = layer.GetNowAndNext(tvChannelListSegment); getNowAndNext = getNowAndNext.Concat(getNowAndNextSegment).ToDictionary(x => x.Key, x => x.Value); } _listNowNext.Add(idGroup, getNowAndNext); } return getNowAndNext; }