/// <summary> /// Obtiene la prioridad de una entrada /// </summary> public static int GetPriority(FeedEntryBase entry) { FeedDesktop extension = Search(entry); if (extension != null) { return(extension.Priority); } else { return(0); } }
/// <summary> /// Marca una entrada como leída /// </summary> public static void MarkEntryRead(FeedEntryBase entry, bool blnIsRead) { FeedDesktop extension = Search(entry); // Si no se ha encontrado, añade una nueva if (extension == null) { // Crea la extensión extension = new FeedDesktop(); // La añade a la colección de extensiones de la entrada entry.Extensions.Add(extension); } // Marca la extensión como leída o no extension.IsRead = blnIsRead; }
/// <summary> /// Asigna la prioridad a una entrada /// </summary> public static void SetPriority(FeedEntryBase entry, int intPriority) { FeedDesktop extension = Search(entry); if (extension != null) { // Marca el elemento como leído if (intPriority != 0) { extension.IsRead = true; } // Cambia la prioridad extension.Priority = intPriority; } }
/// <summary> /// Interpreta los datos de un nodo XML /// </summary> internal override void Parse(MLNode node, FeedBase objFeed) { FeedDesktop channel = (FeedDesktop)objFeed.Extensions.Search(FeedDesktopConstTags.cnstStrXMLDefaultNameSpace); // Si no la encuentra la crea if (channel == null) { // Crea la extensión channel = new FeedDesktop(); // ... y la añade a la colección objFeed.Extensions.Add(channel); } // Interpreta la extensión Parse(node, channel); }
/// <summary> /// Interpreta un nodo /// </summary> private void Parse(MLNode node, FeedDesktop channel) { if (node.Prefix.Equals(base.Prefix)) { switch (node.Name) { case FeedDesktopConstTags.cnstStrRead: channel.IsRead = node.Value.GetBool(false); break; case FeedDesktopConstTags.cnstStrPriority: channel.Priority = node.Value.GetInt(0); break; case FeedDesktopConstTags.cnstStrEnabled: channel.Enabled = node.Value.GetBool(true); break; } } }
/// <summary> /// Comprueba las extensiones de la entrada comprobando si se ha leído /// </summary> public static bool IsRead(FeedEntryBase entry) { FeedDesktop extension = Search(entry); return(extension != null && extension.IsRead); }
/// <summary> /// Escribe los datos de un <see cref="FeedDesktop"/> /// </summary> internal void AddNodesExtension(MLNode node, FeedDesktop channel) { node.Nodes.Add(FeedDesktopConstTags.cnstStrXMLPrefix, FeedDesktopConstTags.cnstStrRead, channel.IsRead); node.Nodes.Add(FeedDesktopConstTags.cnstStrXMLPrefix, FeedDesktopConstTags.cnstStrPriority, channel.Priority); node.Nodes.Add(FeedDesktopConstTags.cnstStrXMLPrefix, FeedDesktopConstTags.cnstStrEnabled, channel.Enabled); }