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); }
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); }
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); }
public async Task CreateAsync(CreatePostDto input) { var post = ObjectMapper.Map <Post>(input); await _postManager.CreateAsync(post); }
public void Method_Throws_ArgumentNullException() { Assert.Throws <ArgumentNullException>(() => _postManager.CreateAsync(null).GetAwaiter().GetResult()); Assert.Throws <ArgumentNullException>(() => _postManager.UpdateAsync(null).GetAwaiter().GetResult()); }