public async Task <Response <PostResponse> > Handle(CriarRequest <PostRequest, PostResponse> request, CancellationToken cancellationToken) { var error = new Response <PostResponse>(); try { var taskFiles = _fileService.SaveFilesAsync(request.Entidade.Files, request.User); request.Entidade.Created ??= DateTime.Now; var post = _mapper.Map <PostRequest, Post>(request.Entidade); post.User = request.User; post.FileReferences = await taskFiles; var postCriado = await _repository.CriarEntidadeAsync(post); var response = _mapper.Map <Post, PostResponse>(postCriado); return(await Task.FromResult(new Response <PostResponse>(response))); } catch (Exception e) { error.AddError(e.Source, e.Message); } return(await Task.FromResult(error)); }
public async Task <Response <CommentResponse> > Handle(CriarRequest <CommentRequest, CommentResponse> request, CancellationToken cancellationToken) { var error = new Response <CommentResponse>(); try { request.Entidade.Created ??= DateTime.Now; var taskFiles = _fileService.SaveFilesAsync(request.Entidade.Files, request.User); var taskPost = _repositoryP.ObterQueryEntidade().FirstOrDefaultAsync(p => p.Id == request.Entidade.PostId); var comment = _mapper.Map <CommentRequest, Comment>(request.Entidade); comment.User = request.User; comment.Post = await taskPost; comment.FileReferences = await taskFiles; var commentCriado = await _repository.CriarEntidadeAsync(comment); var response = _mapper.Map <Comment, CommentResponse>(commentCriado); return(await Task.FromResult(new Response <CommentResponse>(response))); } catch (Exception e) { error.AddError(e.Source, e.Message); } return(await Task.FromResult(error)); }