Beispiel #1
0
        ///<inheritdoc/>
        public async Task SynchronizeForAddingPostsAsync()
        {
            _logger.LogInformation(Application.Resources.PostSynchronizationService.StartSynchronizationForAdditionPost);

            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 = cloudPostsIds.Except(applicationPostsIds);

            var postsForSync = cloudPosts.Join(idsForSync,
                                               cloudPost => cloudPost.Id,
                                               newId => newId,
                                               (cloudPost, newId) => cloudPost);

            if (postsForSync.Any())
            {
                foreach (var post in postsForSync)
                {
                    var applicationPersons = await _personManager.GetPeopleWithoutTrackingAsync();

                    var person = applicationPersons.SingleOrDefault(person => person.CloudId == post.PersonId);

                    if (person != null)
                    {
                        var postDto = new PostDto
                        {
                            CloudId  = post.Id,
                            PersonId = person.Id,
                            Title    = post.Title,
                            Body     = post.Body
                        };

                        await _postManager.CreatePostAsync(postDto);
                    }
                    else
                    {
                        _logger.LogError(Application.Resources.ErrorMessages.PostSyncService_AddingPostError, post.PersonId);
                    }
                }
            }

            _logger.LogInformation(Application.Resources.PostSynchronizationService.EndSynchronizationForAdditionPost);
        }
        public async Task <ActionResult <PostDto> > Create([FromBody] PostDto postDto)
        {
            var result = await postManager.CreatePostAsync(postDto);

            return(Ok(result));
        }
Beispiel #3
0
 public async Task AddPost(SavePostModel model)
 {
     await _postManager.CreatePostAsync(model);
 }
 public async Task CreatePostAsync(CreatePostInput input)
 {
     var @post = Post.Create(AbpSession.GetTenantId(), input.Title, AbpSession.GetUserId(), input.Summary, input.Tags, input.Content, input.CatagoryId);
     await _postManager.CreatePostAsync(@post);
 }