Exemple #1
0
        public async Task <IEnumerable <ProgramInfo> > getEPGList(string channelNumber)
        {
            try {
                XmlElement epgData = await DVBViewerAPI.getEPGData(await getepgID(channelNumber));

                if (epgData == null)
                {
                    _logger.Error("No EPG Data");
                }
                else
                {
                    XmlNodeList epgList = epgData.SelectNodes("//programme");

                    programsInfo = new List <ProgramInfo>();

                    var items = new List <ProgramInfo>();

                    for (int i = 0; i < epgList.Count; i++)
                    {
                        var item = new ProgramInfo
                        {
                            ChannelId = channelNumber,
                            Id        = epgData.GetElementsByTagName("eventid").Item(i).Value.ToString(),
                            Name      = epgData.GetElementsByTagName("title").Item(i).Value.ToString(),
                            Overview  = epgData.GetElementsByTagName("event").Item(i).Value.ToString(),
                            StartDate = Helpers.convertToDateTime(epgList[i].Attributes["start"].Value.ToString()),
                            EndDate   = Helpers.convertToDateTime(epgList[i].Attributes["stop"].Value.ToString())
                        };
                        items.Add(item);
                    }

                    programsInfo = items.ToList();

                    return(programsInfo);
                }
            }
            catch (Exception ex)
            {
                _logger.Error("Can't Retrieve EPG List from Server", ex);
            }
            return(null);
        }