public async Task InitAsync(string dbName) { this.dbName = dbName; conn = await R.Connection().ConnectAsync(); if (!await R.DbList().Contains(dbName).RunAsync <bool>(conn)) { R.DbCreate(dbName).Run(conn); } if (!await R.Db(dbName).TableList().Contains("Guilds").RunAsync <bool>(conn)) { R.Db(dbName).TableCreate("Guilds").Run(conn); } if (!await R.Db(dbName).TableList().Contains("Anime").RunAsync <bool>(conn)) { R.Db(dbName).TableCreate("Anime").Run(conn); } foreach (dynamic elem in await R.Db(dbName).Table("Anime").RunAsync(conn)) { AnimeSubscription.Add(ulong.Parse((string)elem.id), ulong.Parse((string)elem.channel)); } }
public async Task AddAnimeSubscription(ulong guildId, ulong channelId) { string guildIdStr = guildId.ToString(); string channelIdStr = channelId.ToString(); if (await R.Db(dbName).Table("Anime").GetAll(guildIdStr).Count().Eq(0).RunAsync <bool>(conn)) { await R.Db(dbName).Table("Anime").Insert(R.HashMap("id", guildIdStr) .With("channel", channelIdStr) ).RunAsync(conn); AnimeSubscription.Add(guildId, channelId); } else { await R.Db(dbName).Table("Anime").Update(R.HashMap("id", guildIdStr) .With("channel", channelIdStr) ).RunAsync(conn); AnimeSubscription[guildId] = channelId; } }