private async Task UpdateUserInfoAsync(CancellationToken cancelToken)
        {
            PersonInfo[] person = await m_client.ServiceMethods.GetAuthorizedPersonsAsync(cancelToken);
            UserInfo userInfo = null;
            if (person.IsNullOrEmpty())
            {
                userInfo = null;
            }
            else
            {
                userInfo = new UserInfo(person[0]);
            }

            UserInfo = userInfo;
            await SaveUserInfoAsync(cancelToken);
        }
 private async Task SetUserAndSaveAsync(UserInfo userInfo, CancellationToken cancelToken)
 {
     UserInfo = userInfo;
     await SaveUserInfoAsync(cancelToken);
 }
        internal void ResetRecordObjects(UserInfo userInfo)
        {
            lock (m_recordStores)
            {
                if (userInfo == null)
                {
                    throw new ArgumentNullException("userInfo");
                }

                foreach (IRecord record in userInfo.AuthorizedRecords)
                {
                    LocalRecordStore recordStore = null;
                    if (m_recordStores.TryGetValue(record.ID, out recordStore))
                    {
                        recordStore.Record = record;
                    }
                }
            }
        }