コード例 #1
0
        ///<inheritdoc/>
        public async Task SynchronizeForDeletingPostsAsync()
        {
            _logger.LogInformation(Application.Resources.PostSynchronizationService.StartSynchronizationForDeletionPost);

            var cloudPosts = await _cloudManager.GetPosts().ToListAsync();

            var applicationPosts = (await _postManager.GetPostsWithoutTrackingAsync()).ToList();

            var cloudPostsIds       = cloudPosts.Select(p => p.Id).ToList();
            var applicationPostsIds = applicationPosts.Select(p => p.CloudId).ToList();

            var idsForSync = applicationPostsIds.Except(cloudPostsIds);

            if (idsForSync.Any())
            {
                foreach (var id in idsForSync)
                {
                    await _postManager.DeletePostByCloudIdAsync(id);
                }
            }

            _logger.LogInformation(Application.Resources.PostSynchronizationService.EndSynchronizationForDeletionPost);
        }