Пример #1
0
        public async Task SetAsync(Guid userId, UserFlagType type, CancellationToken ct)
        {
            var flag = await _storage.UserFlags.FirstOrDefaultAsync(x => x.Type == type && x.UserId == userId, ct);

            if (flag != null)
            {
                flag.SetDateTime = DateTime.UtcNow;

                _storage.Update(flag);
            }
            else
            {
                flag = new UserFlag
                {
                    Id          = Guid.NewGuid(),
                    UserId      = userId,
                    Type        = type,
                    SetDateTime = DateTime.UtcNow
                };

                await _storage.AddAsync(flag, ct);
            }

            await _storage.SaveChangesAsync(ct);
        }
Пример #2
0
        internal static bool Permitted(UserFlag flag, ulong member, ulong?channel = null)
        {
            var channelData = channel != null ? Program.BotInstance.UserFlags[member, channel.Value] : UserFlag.None;
            var globalData  = Program.BotInstance.UserFlags[member];

            return((channelData | globalData).HasFlag(flag));
        }
Пример #3
0
        /// <summary>
        ///     See whether or not the current user has a certain <see cref="UserFlag" /> on their account.
        /// </summary>
        /// <param name="flag"></param>
        /// <returns></returns>
        /// <exception cref="ResultException"></exception>
        public bool CurrentUserHasFlag(UserFlag flag)
        {
            bool   ret = new bool();
            Result res = Methods.CurrentUserHasFlag(methodsPtr, flag, ref ret);

            if (res != Result.Ok)
            {
                throw new ResultException(res);
            }
            return(ret);
        }
Пример #4
0
 public void AddGlobalFlag(ulong target, UserFlag flag)
 {
     if (!_globalPermissions.ContainsKey(target))
     {
         _globalPermissions.Add(target, flag);
     }
     else
     {
         _globalPermissions[target] |= flag;
     }
 }
Пример #5
0
        public override void Update(UserJsonModel model)
        {
            _name          = model.Username;
            _discriminator = model.Discriminator;
            _avatarHash    = model.Avatar;

            if (model.PublicFlags.HasValue)
            {
                _publicFlags = model.PublicFlags.Value;
            }
        }
Пример #6
0
 public void AddFlag(User target, UserFlag flag)
 {
     if (!_userPermissions.ContainsKey(target.Id))
     {
         _userPermissions.Add(target.Id, flag);
     }
     else
     {
         _userPermissions[target.Id] |= flag;
     }
 }
Пример #7
0
 public Registers()
 {
     AC = new LinkAccumulator();
     PC = new InstructionFieldProgramCounter();
     SR = new SwitchRegister();
     MQ = new MultiplierQuotient();
     DF = new DataField();
     IB = new InstructionBuffer();
     UB = new UserBuffer();
     UF = new UserFlag();
     SF = new SaveField();
 }
Пример #8
0
        private static UserFlag GetFlagValue(bool tooltips, bool debug)
        {
            UserFlag flag = 0;

            if (tooltips)
            {
                flag |= UserFlag.Tooltips;
            }

            if (debug)
            {
                flag |= UserFlag.Debug;
            }

            return(flag);
        }
Пример #9
0
        /// <summary>
        /// Shows the PeakFlag editor
        /// </summary>
        public static bool Show(Form owner, UserFlag flag, bool readOnly)
        {
            UiControls.Assert(flag != null, "flag must not be null");

            using (FrmEditUserFlag frm = new FrmEditUserFlag(flag, readOnly))
            {
                if (UiControls.ShowWithDim(owner, frm) == DialogResult.OK)
                {
                    frm._binder1.Commit();
                    flag.Comment = frm._comment;
                    return(true);
                }

                return(false);
            }
        }
Пример #10
0
        public void RemoveGlobalFlag(ulong target, UserFlag flag)
        {
            if (!_globalPermissions.ContainsKey(target))
            {
                return;
            }

            var perm = _globalPermissions[target];

            perm ^= flag;
            if (perm == UserFlag.None)
            {
                _globalPermissions.Remove(target);
            }
            else
            {
                _globalPermissions[target] = perm;
            }
        }
Пример #11
0
        public void RemoveFlag(User target, UserFlag flag)
        {
            if (!_userPermissions.ContainsKey(target.Id))
            {
                return;
            }

            var perm = _userPermissions[target.Id];

            perm ^= flag;
            if (perm == UserFlag.None)
            {
                _userPermissions.Remove(target.Id);
            }
            else
            {
                _userPermissions[target.Id] = perm;
            }
        }
Пример #12
0
        private Tuple <double, int, int, int, int> SimpleClassify(double cutoff, UserFlag type1, UserFlag type2, List <double> sigs, List <bool> inTrainingSet, bool checkTrainingSet)
        {
            int correct1   = 0;
            int incorrect1 = 0;
            int correct2   = 0;
            int incorrect2 = 0;

            for (int vi = 0; vi < this._core.Peaks.Count; vi++)
            {
                if (inTrainingSet[vi] == checkTrainingSet)
                {
                    Peak   v   = this._core.Peaks[vi];
                    double sig = sigs[vi];

                    if (v.UserFlags.Contains(type1))
                    {
                        if (sig <= cutoff)
                        {
                            correct1++;
                        }
                        else
                        {
                            incorrect1++;
                        }
                    }
                    else if (v.UserFlags.Contains(type2))
                    {
                        if (sig <= cutoff)
                        {
                            incorrect2++;
                        }
                        else
                        {
                            correct2++;
                        }
                    }
                }
            }

            double score = (((double)correct1 / (correct1 + incorrect1)) + ((double)correct2 / (correct2 + incorrect2))) / 2;

            return(new Tuple <double, int, int, int, int>(score, correct1, incorrect1, correct2, incorrect2));
        }
Пример #13
0
        public async Task <IHttpActionResult> FlagUser(int userId, int flagId)
        {
            var userdevice  = UserManager.FindByName(User.Identity.Name);
            var user        = _db.Users.First(node => node.Id == userdevice.UserId);
            var flag        = _db.Flags.First(node => node.Id == flagId);
            var accusedUser = _db.Users.First(node => node.Id == userId);

            var userFlag = new UserFlag()
            {
                AccusedUserId = accusedUser.Id,
                AccuserUserId = user.Id,
                FlagId        = flag.Id,
                Resolved      = false
            };

            _db.UserFlags.AddOrUpdate(userFlag);
            await _db.SaveChangesAsync();

            return(Ok(userFlag));
        }
Пример #14
0
        /// <summary>
        /// CONSTRUCTOR
        /// </summary>
        private FrmEditUserFlag(UserFlag flag, bool readOnly)
        {
            this.InitializeComponent();

            this._readOnly = readOnly;

            this._binder1.Bind(this._txtName, z => z.OverrideDisplayName);
            this._binder1.Bind(this._txtKey, z => z.Key);
            this._binder1.Bind(this._numDuration, z => z.BeepDuration);
            this._binder1.Bind(this._numFrequency, z => z.BeepFrequency);
            this._binder1.Bind(this._btnColour, z => z.Colour);
            this._binder1.Read(flag);

            this._comment = flag.Comment;

            if (readOnly)
            {
                UiControls.MakeReadOnly(this, this._btnComment);
            }
        }
Пример #15
0
 public void RemoveGlobalFlag(User target, UserFlag flag) => RemoveGlobalFlag(target.Id, flag);
Пример #16
0
        private void CreatInfoArray()
        {
            infos            = new string[QQGlobal.QQ_COUNT_GET_USER_INFO_FIELD];
            infos[QQ_NUM]    = QQ.ToString();
            infos[NICK]      = Nick;
            infos[COUNTRY]   = Country;
            infos[PROVINCE]  = Province;
            infos[ZIPCODE]   = ZipCode;
            infos[ADDRESS]   = Address;
            infos[TELEPHONE] = Telephone;
            infos[AGE]       = Age.ToString();
            infos[GENDER]    = Gender;

            // 10. 姓名
            infos[NAME] = Name;
            // 11. Email
            infos[EMAIL] = Email;
            // 12. 寻呼机sn,(sn是什么玩意,我也不知道)
            infos[PAGER_SN] = "";
            // 13. 寻呼机号
            infos[PAGER] = "";
            // 14. 寻呼机服务提供商
            infos[PAGER_SP] = "";
            // 15. 寻呼机base num(也不清楚这是什么)
            infos[PAGER_BASE_NUM] = "";
            // 16. 寻呼机类型
            infos[PAGER_TYPE] = "";
            // 17. 职业
            infos[OCCUPATION] = Occupation;
            // 18. 主页
            infos[HOMEPAGE] = HomePage;
            // 19. 认证类型(应该是被人加自己为好友的时候的认证类型把)
            infos[AUTH_TYPE] = ((int)AuthType).ToString();
            // 20. unknown 1
            infos[UNKNOWN_1] = "";
            // 21. unknown 2
            infos[UNKNOWN_2] = "";
            // 22. 头像,头像是用一个数代表的,比如27, 因为QQ目录下的头像是从1开始编号的,
            //     但是这个头像的数字却是从0开始计数的。并且注意,QQ的目录下面每种头像都
            //     有3个bmp,所以按数字这么一排,27应该是10-1.bmp
            infos[HEAD] = Head.ToString();
            // 23. 手机号
            infos[MOBILE] = Mobile;
            // 24. 手机类型
            infos[MOBILE_TYPE] = "";
            // 25. 介绍
            infos[INTRO] = Intro;
            // 26. 城市
            infos[CITY] = City;
            // 27. unknown 3
            infos[UNKNOWN_3] = "";
            // 28. unknown 4
            infos[UNKNOWN_4] = "";
            // 29. unknown 5
            infos[UNKNOWN_5] = "";
            // 30. is_open_hp
            infos[OPEN_HP] = "";
            // 31. is_open_contact(通讯方式是否对其他人可见)
            infos[OPEN_CONTACT] = ((int)OpenContact).ToString();
            // 32. 学校
            infos[COLLEGE] = College;
            // 33. 星座
            infos[HOROSCOPE] = Horoscope.ToString();
            // 34. 生肖
            infos[ZODIAC] = Zodiac.ToString();
            // 35. 血型
            infos[BLOOD] = Blood.ToString();
            // 36. UserFlag
            infos[USER_FLAG] = UserFlag.ToString();
            // 37. unknown 6,总是0x2D
            infos[UNKNOWN_6] = "";
        }
Пример #17
0
 public UserFlags(UserFlag flag) : this((ulong)flag)
 {
 }
Пример #18
0
 public void AddGlobalFlag(User target, UserFlag flag) => AddGlobalFlag(target.Id, flag);
Пример #19
0
 public static bool HasFlag(this IHasUserFlags hasFlags, IPexFileGetter pexFile, UserFlag flag)
 {
     if (pexFile.UserFlags[flag.Index] != flag.Name)
     {
         throw new ArgumentException("Tried to set a flag that was not registered in the reference pex file.");
     }
     return(EnumExt.HasFlag(hasFlags.RawUserFlags, flag.Index));
 }
Пример #20
0
 public static void SetFlag(this IHasUserFlags hasFlags, IPexFileGetter pexFile, UserFlag flag, bool on)
 {
     if (pexFile.UserFlags[flag.Index] != flag.Name)
     {
         throw new ArgumentException("Tried to set a flag that was not registered in the reference pex file.");
     }
     hasFlags.RawUserFlags = EnumExt.SetFlag(hasFlags.RawUserFlags, flag.Index, on);
 }
Пример #21
0
 internal static bool Permitted(UserFlag flag, User member, Channel channel = null)
 => Program.BotInstance.Manager.GetFlag(member, channel).HasFlag(flag);
Пример #22
0
 public bool Has(UserFlag flag)
 => Discord.HasFlag(RawValue, (ulong)flag);
Пример #23
0
 internal UserConfig(string prefix, NotifyAllow notifier, UserFlag flag)
 {
     Prefix   = prefix;
     Notifier = notifier;
     Flag     = flag;
 }
Пример #24
0
 internal static bool Permitted(UserFlag flag, User member, Channel channel = null)
 => Permitted(flag, member.Id, channel?.Id);