/// <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; } } }
/// <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; } } }
/// <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); }
/// <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); }