コード例 #1
0
        /// <summary>
        /// Remove the respective SwrveUser from cache
        /// </summary>
        /// <param name="aUserId">
        /// An InternalUserId or ExternalUser to find and remove from cache.
        /// </param>
        public void RemoveSwrveUser(string aUserId)
        {
            if (aUserId == null)
            {
                return;
            }
            List <SwrveUser> swrveUsers = this.GetSwrveUsers();

            for (int i = 0; i < swrveUsers.Count; i++)
            {
                SwrveUser swrveUser = swrveUsers[i];
                if (swrveUser.swrveId == aUserId || swrveUser.externalId == aUserId)
                {
                    swrveUsers.Remove(swrveUser);
                    this.SaveSwrveUsers(swrveUsers);
                    return;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Update a SwrveUser in cache if is able to match the swrveUserId or externalUserId with an user in our cache, it also set this user as verified -
        /// this method is called with the internal SuccessCallback in our identify call.
        /// </summary>
        /// <param name="swrveUserId">
        /// InternalUserId to find and update in our cache.
        /// </param>
        /// <param name="externalUserId">
        /// ExternalUserId to find and update in our cache.
        /// </param>
        public void UpdateSwrveUser(string swrveUserId, string externalUserId)
        {
            if (swrveUserId == null)
            {
                return;
            }
            List <SwrveUser> swrveUsers = this.GetSwrveUsers();

            for (int i = 0; i < swrveUsers.Count; i++)
            {
                SwrveUser swrveUser = swrveUsers[i];
                if (swrveUser.swrveId == swrveUserId || swrveUser.externalId == externalUserId)
                {
                    swrveUser.verified   = true;
                    swrveUser.swrveId    = swrveUserId;
                    swrveUser.externalId = externalUserId;
                    this.SaveSwrveUsers(swrveUsers);
                    return;
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Try load from cache the user with the respective UserId or ExternalUserId.
        /// </summary>
        public SwrveUser GetSwrveUser(string aUserId)
        {
            if (aUserId == null)
            {
                return(null);
            }
            List <SwrveUser> swrveUsers = this.GetSwrveUsers();

            for (int i = 0; i < swrveUsers.Count; i++)
            {
                SwrveUser swrveUser = swrveUsers[i];
                if (swrveUser.externalId == aUserId)
                {
                    return(swrveUser);
                }
                if (swrveUser.swrveId == aUserId)
                {
                    return(swrveUser);
                }
            }
            return(null);
        }
コード例 #4
0
        /// <summary>
        /// Save the respective SwrveUser in cache
        /// </summary>
        /// <param name="swrveUser">
        /// A SwrveUser that will be saved in cache.
        /// </param>
        public void SaveSwrveUser(SwrveUser swrveUser)
        {
            if (swrveUser == null)
            {
                return;
            }
            List <SwrveUser> swrveUsers = this.GetSwrveUsers();

            for (int i = 0; i < swrveUsers.Count; i++)
            {
                SwrveUser cachedSwrveUser = swrveUsers[i];
                if (cachedSwrveUser.swrveId == swrveUser.swrveId || cachedSwrveUser.externalId == swrveUser.externalId)
                {
                    cachedSwrveUser.swrveId    = swrveUser.swrveId;
                    cachedSwrveUser.externalId = swrveUser.externalId;
                    this.SaveSwrveUsers(swrveUsers);
                    return;
                }
            }
            // Cant find it on cache, add a new user.
            swrveUsers.Add(swrveUser);
            this.SaveSwrveUsers(swrveUsers);
        }