public ActionResult SaveChannelRequest([FromBody] SaveChannel channel) { List <M3UItem> m3UPlaylist = new List <M3UItem>(); if (Plugin.Instance.M3UChannels.ContainsKey(channel.PlaylistUrl)) { m3UPlaylist = Plugin.Instance.M3UChannels[channel.PlaylistUrl]; } else { return(NotFound()); } for (int i = 0; i < m3UPlaylist.Count; i++) { if (m3UPlaylist[i].Url.Equals(channel.channel.Url)) { m3UPlaylist[i] = channel.channel; } } Plugin.Instance.M3UChannels[channel.PlaylistUrl] = m3UPlaylist; Plugin.Instance.TaskManager.CancelIfRunningAndQueue <SaveTask>(); return(NoContent()); }
public async Task <bool> ShouldSendInChannel(int movieId, SaveChannel channel) { var tags = await GetMovieTags(movieId); if (tags.Contains("private") && channel.ShowsPrivate == false) { return(false); } foreach (var required in channel.TagRequired) { if (tags.Contains(required)) { return(true); } } return(channel.TagRequired.Count == 0); }
public async Task ToggleSonarr() { var id = Context.Channel.Id; if (SonarrService.Channels.RemoveAll(x => x.Channel.Id == id) > 0) { await ReplyAsync("Removed."); } else { var sv = new SaveChannel() { Channel = Context.Channel as ITextChannel, ShowsPrivate = false }; SonarrService.Channels.Add(sv); await ReplyAsync("Added."); } SonarrService.OnSave(); }