protected virtual async Task <PostEditDto> Create(PostEditDto input)
        {
            input.Url = await RenameUrlIfItAlreadyExistAsync(input.Url);

            var entity = ObjectMapper.Map <Post>(input);

            //调用领域服务
            entity = await _postManager.CreateAsync(entity);

            //保存Tag标签内容

            if (input.TagIds != null && input.TagIds.Count > 0)
            {
                await _tagManager.SaveTags(input.TagIds, entity);
            }

            var dto = ObjectMapper.Map <PostEditDto>(entity);

            return(dto);
        }
Exemplo n.º 2
0
        public async Task Create(CreatePostInput input)
        {
            // Is the user the author of the blog?
            var blog = await _blogManager.FindByIdAsync(input.BlogId);

            if (blog?.AuthorId != AbpSession.UserId && AbpSession.UserId != input.AuthorId)
            {
                return;
            }

            var post = ObjectMapper.Map <Post>(input);

            await _postManager.CreateAsync(post);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> ManagePost([FromBody] PostViewModel post)
        {
            int id = 0;

            try
            {
                if (post.Id == 0)
                {
                    post.Id = await _postManager.CreateAsync(new PostDto
                    {
                        PostTitle    = post.PostTitle,
                        Content      = post.Content,
                        Permerlink   = post.Permerlink,
                        PostStatus   = post.PostStatus,
                        CoverImageId = post.CoverImage != null ? (int?)post.CoverImage.Id : null
                    });
                }
                else
                {
                    //  PostDto updateModel=await _postManager.GetPostAsync(post.Id);

                    //updateModel.PostTitle = post.PostTitle;
                    //updateModel.Content = post.Content;
                    //updateModel.Permerlink = post.Permerlink;
                    //updateModel.PostStatus = post.PostStatus;
                    //updateModel.CoverImageId = post.CoverImage != null ? (int?)post.CoverImage.Id : null;


                    await _postManager.UpdateAsync((new AdminUpdatePostWrapper
                    {
                        PostId = post.Id,
                        PostTitle = post.PostTitle,
                        Content = post.Content,
                        Permerlink = post.Permerlink,
                        PostStatus = post.PostStatus,
                        CoverImageId = post.CoverImage != null ? (int?)post.CoverImage.Id : null,
                        UserId = 1
                    }));
                }

                return(CreatedAtAction("GetPost", new { id = id }, post));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);

                return(new StatusCodeResult(500));
            }
        }
        /// <inheritdoc/>
        public async Task AddAsync()
        {
            _logger.LogInformation(SyncMessage.PostAddStart);

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

            var postsApp  = (await _postManager.GetAllAsync()).ToList();
            var peopleApp = (await _personManager.GetAllAsync()).ToList();

            var postsCloudIds = postsCloud.Select(p => p.Id);
            var postsAppIds   = postsApp.Select(p => p.CloudId);

            var newIds = postsCloudIds.Except(postsAppIds);

            var posts = postsCloud.Join(
                newIds,
                postCloud => postCloud.Id,
                id => id,
                (postCloud, id) => postCloud);

            if (posts.Any())
            {
                foreach (var post in posts)
                {
                    var user = peopleApp.FirstOrDefault(p => p.CloudId == post.UserId);

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

                        await _postManager.CreateAsync(postDto);
                    }
                    else
                    {
                        _logger.LogError(SyncMessage.PostAddError, post.UserId);
                    }
                }
            }

            _logger.LogInformation(SyncMessage.PostAddEnd);
        }
Exemplo n.º 5
0
 public async Task CreateAsync(CreatePostDto input)
 {
     var post = ObjectMapper.Map <Post>(input);
     await _postManager.CreateAsync(post);
 }
Exemplo n.º 6
0
 public void Method_Throws_ArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() => _postManager.CreateAsync(null).GetAwaiter().GetResult());
     Assert.Throws <ArgumentNullException>(() => _postManager.UpdateAsync(null).GetAwaiter().GetResult());
 }