示例#1
0
        private static (ModixContext, GuildChannelRepository) BuildTestContext()
        {
            var modixContext = TestDataContextFactory.BuildTestDataContext(x =>
            {
                x.GuildChannels.AddRange(GuildChannels.Entities.Clone());
            });

            var uut = new GuildChannelRepository(modixContext);

            return(modixContext, uut);
        }
示例#2
0
        /// <inheritdoc />
        public async Task TrackChannelAsync(IGuildChannel channel)
        {
            using (var transaction = await GuildChannelRepository.BeginCreateTransactionAsync())
            {
                if (!await GuildChannelRepository.TryUpdateAsync(channel.Id, data =>
                {
                    data.Name = channel.Name;
                }))
                {
                    await GuildChannelRepository.CreateAsync(new GuildChannelCreationData()
                    {
                        ChannelId = channel.Id,
                        GuildId   = channel.GuildId,
                        Name      = channel.Name
                    });
                }

                transaction.Commit();
            }
        }