Exemple #1
0
        public async Task <AdminChannel> ChangePrefix(AdminChannel adminChannel, string newPrefix)
        {
            var newAc = await this.adminChannelRepository.ChangePrefix(adminChannel, newPrefix);

            this.Updated?.Invoke(this, newAc);
            return(newAc);
        }
Exemple #2
0
        public async Task <AdminChannel> Add(Server server, ulong channelId, string prefix)
        {
            AdminChannel channel = await this.adminChannelRepository.Insert(server, channelId, prefix);

            this.Added?.Invoke(this, channel);
            return(channel);
        }
        public async Task <AdminChannel> ChangePrefix(AdminChannel adminChannel, string newPrefix)
        {
            using (var conn = new MySqlConnection(this.connectionString))
            {
                await conn.OpenAsync();

                using (var cmd = new MySqlCommand($@"UPDATE discord_admin_channels
                                                      SET prefix = @prefix
                                                      WHERE server_id = @sid AND channel_id = @cid", conn))
                {
                    cmd.Parameters.AddWithValue("sid", adminChannel.Server.Id);
                    cmd.Parameters.AddWithValue("cid", adminChannel.ChannelId);
                    cmd.Parameters.AddWithValue("prefix", newPrefix);

                    int rows = await cmd.ExecuteNonQueryAsync();

                    if (rows == 0)
                    {
                        throw new Exception("No rows updated");
                    }

                    return(new AdminChannel(adminChannel.Server, adminChannel.ChannelId, newPrefix));
                }
            }
        }
Exemple #4
0
        public async Task Remove(AdminChannel adminChannel)
        {
            await this.adminChannelRepository.RemoveChannel(adminChannel.Server.Id, adminChannel.ChannelId);

            this.Removed?.Invoke(this, adminChannel);
        }