Exemplo n.º 1
0
        public async Task <bool> UpdateAccountAuthAsync(Auth.TokenInfo token, Auth.CharacterInfo charinfo, Auth.AccessFlag permissions)
        {
            foreach (Account i in Accounts)
            {
                if (i.Id != charinfo.CharacterId)
                {
                    continue;
                }
                i.DBAccount.UpdateAuthInfo(token, permissions);
                await mAccountDB.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
Exemplo n.º 2
0
        public async Task <Account> AddAccountAsync(Auth.TokenInfo token, Auth.CharacterInfo charinfo, Auth.AccessFlag permissions)
        {
            using (var dbop = new DBOperation())
            {
                mCmd_AddAccount.Parameters["@id"].Value          = charinfo.CharacterId;
                mCmd_AddAccount.Parameters["@name"].Value        = charinfo.CharacterName;
                mCmd_AddAccount.Parameters["@permissions"].Value = (int)permissions;

                try
                {
                    await mCmd_AddAccount.ExecuteNonQueryAsync();

                    Account account = new Account(this, charinfo.CharacterId, charinfo.CharacterName, permissions);

                    mAccounts.Add(account);

                    account.UpdateAuthInfo(token);

                    await SaveChangesAsync();

                    return(account);
                }
                catch (SQLiteException e)
                {
                    if (e.ErrorCode == 19)
                    {
                        throw new AccountExistsException();
                    }

                    throw new AccountDatabaseException(string.Format("Unable to create account. Database error({0}).", e.ErrorCode));
                }
            }
        }
Exemplo n.º 3
0
        public async Task AddAccountAsync(Auth.TokenInfo token, Auth.CharacterInfo charinfo, Auth.AccessFlag permissions)
        {
            DB.Account dbaccount = await mAccountDB.AddAccountAsync(token, charinfo, permissions);

            Account account = new Account(this, dbaccount);

            mAccounts.Add(account);
            mViewAccounts.Add(account.ViewAccount);

            OnAccountAction(true, account);
        }