/// <summary>
        /// Add personal data in Table Storage.
        /// </summary>
        /// <param name="userDataRepository">The user data repository.</param>
        /// <param name="activity">Bot conversation update activity instance.</param>
        /// <returns>A task that represents the work queued to execute.</returns>
        public static async Task SaveUserDataAsync(
            this UserDataRepository userDataRepository,
            IConversationUpdateActivity activity)
        {
            var userDataEntity = UserDataRepositoryExtensions.ParseUserData(activity);

            if (userDataEntity != null)
            {
                await userDataRepository.InsertOrMergeAsync(userDataEntity);
            }
        }
        /// <summary>
        /// Remove personal data in table storage.
        /// </summary>
        /// <param name="userDataRepository">The user data repository.</param>
        /// <param name="activity">Bot conversation update activity instance.</param>
        /// <returns>A task that represents the work queued to execute.</returns>
        public static async Task RemoveUserDataAsync(
            this UserDataRepository userDataRepository,
            IConversationUpdateActivity activity)
        {
            var userDataEntity = UserDataRepositoryExtensions.ParseUserData(activity);

            if (userDataEntity != null)
            {
                var found = await userDataRepository.GetAsync(UserDataTableNames.UserDataPartition, userDataEntity.AadId);

                if (found != null)
                {
                    await userDataRepository.DeleteAsync(found);
                }
            }
        }