public async Task <AdminChannel> ChangePrefix(AdminChannel adminChannel, string newPrefix) { var newAc = await this.adminChannelRepository.ChangePrefix(adminChannel, newPrefix); this.Updated?.Invoke(this, newAc); return(newAc); }
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)); } } }
public async Task Remove(AdminChannel adminChannel) { await this.adminChannelRepository.RemoveChannel(adminChannel.Server.Id, adminChannel.ChannelId); this.Removed?.Invoke(this, adminChannel); }