示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
 private IEnumerable <IMessageChannel> GetFromDb()
 {
     using (var db = new AnimeFeedContext(dbOptions))
         return(db.AnimeFeedBindings.Select(binding => client.GetChannel(binding.ChannelId)).OfType <IMessageChannel>().ToList());
 }