コード例 #1
0
ファイル: Db.cs プロジェクト: TheIndra55/Sanara
        public async Task InitGuild(IGuild guild)
        {
            if (Languages.ContainsKey(guild.Id)) // If somehow InitGuild is called 2 times for the same guild we ignore it
            {
                return;
            }
            string guildIdStr = guild.Id.ToString();

            if (await R.Db(dbName).Table("Guilds").GetAll(guildIdStr).Count().Eq(0).RunAsync <bool>(conn))
            {
                await R.Db(dbName).Table("Guilds").Insert(R.HashMap("id", guildIdStr)
                                                          .With("Prefix", "s.")
                                                          .With("Language", "en")
                                                          .With("Availability", defaultAvailability)
                                                          ).RunAsync(conn);
            }
            dynamic json = await R.Db(dbName).Table("Guilds").Get(guildIdStr).RunAsync(conn);

            Languages.Add(guild.Id, (string)json.Language);
            Prefixs.Add(guild.Id, (string)json.Prefix);
            string availability = (string)json.Availability;

            if (availability == null)
            {
                Availability.Add(guild.Id, defaultAvailability);
            }
            else
            {
                string newAvailability = availability;
                while (newAvailability.Length < defaultAvailability.Length)
                {
                    newAvailability += "1";
                }
                Availability.Add(guild.Id, newAvailability);
            }
            string anonymize = (string)json.Anonymize;

            if (anonymize != null)
            {
                Anonymize.Add(guild.Id, bool.Parse(anonymize));
            }
            else
            {
                Anonymize.Add(guild.Id, false);
            }
            string anime = (string)json.animeSubscription;

            if (anime != null && anime != "0")
            {
                AnimeSubscription.Add((await guild.GetTextChannelAsync(ulong.Parse(anime)), null));
            }
            string nhentai = (string)json.nhentaiSubscription;

            if (nhentai != null && nhentai != "0")
            {
                NHentaiSubscription.Add((await guild.GetTextChannelAsync(ulong.Parse(nhentai)), Subscription.SubscriptionTags.ParseSubscriptionTags(json.nhentaiSubscriptionTags.ToObject <string[]>(), false)));
            }
        }
コード例 #2
0
ファイル: EntityGrid.cs プロジェクト: yuyu2you/X_NET20
        /// <summary>执行数据查询</summary>
        public virtual void Select()
        {
            // 如果指定了查询Where条件的方法,则根据请求参数反射调用
            if (!WhereMethod.IsNullOrWhiteSpace())
            {
                var method = Factory.EntityType.GetMethodEx(WhereMethod);
                // 过滤前缀
                var ps = WebHelper.Params.ToDictionary(e => e.Key.TrimStart(Prefixs.ToArray()), e => e.Value, StringComparer.OrdinalIgnoreCase);
                if (method != null)
                {
                    Where = Reflect.InvokeWithParams(null, method, ps as IDictionary) + "";
                }
            }

            DataSource = Factory.FindAll(Where, OrderBy, null, (PageIndex - 1) * PageSize, PageSize);
            TotalCount = Factory.FindCount(Where, null, null, 0, 0);
        }
コード例 #3
0
ファイル: Db.cs プロジェクト: Kadantte/Sanara
        public async Task InitGuild(ulong guildId)
        {
            if (Languages.ContainsKey(guildId)) // If somehow InitGuild is called 2 times for the same guild we ignore it
            {
                return;
            }
            string guildIdStr = guildId.ToString();

            if (await R.Db(dbName).Table("Guilds").GetAll(guildIdStr).Count().Eq(0).RunAsync <bool>(conn))
            {
                await R.Db(dbName).Table("Guilds").Insert(R.HashMap("id", guildIdStr)
                                                          .With("Prefix", "s.")
                                                          .With("Language", "en")
                                                          .With("Availability", defaultAvailability)
                                                          ).RunAsync(conn);
            }
            dynamic json = await R.Db(dbName).Table("Guilds").Get(guildIdStr).RunAsync(conn);

            Languages.Add(guildId, (string)json.Language);
            Prefixs.Add(guildId, (string)json.Prefix);
            string availability = (string)json.Availability;

            if (availability == null)
            {
                Availability.Add(guildId, defaultAvailability);
            }
            else
            {
                string newAvailability = availability;
                while (newAvailability.Length < defaultAvailability.Length)
                {
                    newAvailability += "1";
                }
                Availability.Add(guildId, newAvailability);
            }
        }