private void addChannelInNameOrder(Collection <Channel> sortedChannels, Channel newChannel) { TVStation newStation = TVStation.FindStation(newChannel.OriginalNetworkID, newChannel.TransportStreamID, newChannel.ServiceID); if (newStation == null) { newStation = new TVStation("No Name"); } foreach (Channel oldChannel in sortedChannels) { TVStation oldStation = TVStation.FindStation(oldChannel.OriginalNetworkID, oldChannel.TransportStreamID, oldChannel.ServiceID); if (oldStation == null) { oldStation = new TVStation("No Name"); } if (oldStation.Name.CompareTo(newStation.Name) > 0) { sortedChannels.Insert(sortedChannels.IndexOf(oldChannel), newChannel); return; } } sortedChannels.Add(newChannel); }
/// <summary> /// Log all the channel mappings. /// </summary> /// <param name="logger">The logger instance to be used.</param> public void LogChannelMapping(Logger logger) { TVStation station = TVStation.FindStation(OriginalNetworkID, TransportStreamID, ServiceID); string stationName; if (station != null) { stationName = station.Name; } else { stationName = "** No Station **"; } StringBuilder flagString = new StringBuilder(); if (Flags != null) { flagString.Append("0x"); foreach (byte flagByte in Flags) { flagString.Append(flagByte.ToString("X").PadLeft(2, '0')); } } else { flagString.Append("N/A"); } logger.Write("Channel: ONID " + OriginalNetworkID + " TSID " + TransportStreamID + " SID " + ServiceID + " Channel ID: " + ChannelID + " User Channel: " + UserChannel + " Bouquet: " + BouquetID + " Region: " + Region + " Flags: " + flagString + " Name: " + stationName); }
/// <summary> /// Get a description of this instance. /// </summary> /// <returns>A string describing this instance.</returns> public override string ToString() { TVStation station = TVStation.FindStation(originalNetworkID, transportStreamID, serviceID); string stationName; if (station != null) { stationName = station.Name; } else { stationName = "** No Station **"; } return("ONID " + OriginalNetworkID + " TSID " + TransportStreamID + " SID " + ServiceID + " Channel ID: " + ChannelID + " User Channel: " + UserChannel + " Bouquet: " + BouquetID + " Region: " + Region + " Station: " + stationName); }
private static void createAreaRegionChannelFile(string fileName) { string regionChannelFileName = Path.Combine(Path.GetDirectoryName(fileName), "AreaRegionChannelInfo.xml"); try { Logger.Instance.Write("Deleting any existing version of Area/Region channel file"); File.SetAttributes(regionChannelFileName, FileAttributes.Normal); File.Delete(regionChannelFileName); } catch (IOException e) { Logger.Instance.Write("File delete exception: " + e.Message); } Logger.Instance.Write("Creating Area/Region channel file: " + regionChannelFileName); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.NewLineOnAttributes = true; settings.Encoding = new UTF8Encoding(false); settings.CloseOutput = true; using (XmlWriter xmlWriter = XmlWriter.Create(regionChannelFileName, settings)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("areas"); foreach (Bouquet bouquet in Bouquet.Bouquets) { bool writeStart = true; foreach (Region region in bouquet.Regions) { bool include = checkArea(bouquet.BouquetID, region.Code); if (include) { if (writeStart) { xmlWriter.WriteStartElement("area"); xmlWriter.WriteAttributeString("id", bouquet.BouquetID.ToString()); xmlWriter.WriteAttributeString("name", bouquet.Name.ToString()); writeStart = false; } xmlWriter.WriteStartElement("region"); xmlWriter.WriteAttributeString("id", region.Code.ToString()); foreach (Channel channel in region.GetChannelsInChannelNumberOrder()) { { TVStation station = TVStation.FindStation(channel.OriginalNetworkID, channel.TransportStreamID, channel.ServiceID); if (station != null) { xmlWriter.WriteStartElement("channel"); xmlWriter.WriteAttributeString("id", channel.UserChannel.ToString()); xmlWriter.WriteAttributeString("nid", channel.OriginalNetworkID.ToString()); xmlWriter.WriteAttributeString("tid", channel.TransportStreamID.ToString()); xmlWriter.WriteAttributeString("sid", channel.ServiceID.ToString()); if (station.NewName == null) { xmlWriter.WriteAttributeString("name", station.Name); } else { xmlWriter.WriteAttributeString("name", station.NewName); } xmlWriter.WriteEndElement(); } } } xmlWriter.WriteEndElement(); } } if (!writeStart) { xmlWriter.WriteEndElement(); } } xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); xmlWriter.Flush(); xmlWriter.Close(); } }