示例#1
0
        /// <summary>
        /// Fetch the token from eBay and assign it to the user currently logged in
        /// </summary>
        public bool SetUserToken(TokenFetcher fetcher)
        {
            if (_serviceEBay.User == null)
            {
                User user = new User();
                user.EBayUserToken = _serviceOther.DefaultToken();
                user.EBayUserTokenExpirationDate = _serviceOther.DefaultTokenExpirationDate();
                _serviceEBay.User = user;
            }

            try
            {
                TokenData token = _serviceEBay.FetchToken(fetcher);

                Query q = new Query();

                Criterion c = new Criterion();
                c.Operator = CriteriaOperator.Equal;
                c.PropertyName = "UserID";
                c.Value = fetcher.UserID;

                q.Criteria.Add(c);

                q.Members.Add("*");

                IList<User> users = this._myDataConnection.GetByCriteria<User>(q);

                if (users.Count == 1)
                {
                    User user = users[0];

                    this._userLoggedIn.EBayUserToken = token.Token;
                    this._userLoggedIn.EBayUserTokenExpirationDate = token.ExpirationDate;
                    this.UserSave(user);
                }
                else
                    throw new ControlObjectException(EnumSeverity.Bug, EnumMessageCode.UserCouldNotBeLoaded);

                return true;
            }
            catch
            {
                return false;
            }
        }
示例#2
0
 public TokenData FetchToken(TokenFetcher fetcher)
 {
     this._currentSessionID = fetcher.SessionID;
     return this.FetchToken();
 }