public async Task <IActionResult> RSS(int id) { StringBuilder s = new StringBuilder(); try { RssChannel channel = await rssService.GetChannel(id); if (channel == null) { return(BadRequest($"Channel {id} cannot be found.")); } s.Append("<rss versio='2.0'>"); channel.items = await rssService.GetChannelItems(channel.Id); s.Append(" <channel>"); s.Append(channel.RssInnerXml()); if (channel.items.Count() > 0) { foreach (RssItem item in channel.items) { s.Append(" <item>"); s.Append(item.RssInnerXml()); s.Append(" </item>"); } } s.Append(" </channel>"); s.Append("</rss>"); return(this.Content(s.ToString(), "text/xml")); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }