public async Task <bool> RemoveBinding(IEntity <ulong> binding) { using (var db = new AnimeFeedContext(dbOptions)) { var entities = db.AnimeFeedBindings.Where(b => b.ChannelId == binding.Id); if (!entities.Any()) { return(false); } db.AnimeFeedBindings.RemoveRange(entities); await db.SaveChangesAsync(); return(true); } }
public async Task <bool> AddBinding(IMessageChannel channel) { using (var db = new AnimeFeedContext(dbOptions)) { if (db.AnimeFeedBindings.Any(b => b.ChannelId == channel.Id)) { return(false); } db.AnimeFeedBindings.Add(new AnimeFeedBinding { ChannelId = channel.Id, }); await db.SaveChangesAsync(); return(true); } }
private IEnumerable <IMessageChannel> GetFromDb() { using (var db = new AnimeFeedContext(dbOptions)) return(db.AnimeFeedBindings.Select(binding => client.GetChannel(binding.ChannelId)).OfType <IMessageChannel>().ToList()); }