示例#1
0
文件: Db.cs 项目: Kadantte/Sanara
        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));
            }
        }
示例#2
0
文件: Db.cs 项目: Kadantte/Sanara
        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;
            }
        }