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));
        }
Exemple #2
0
        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));
        }