public async Task <ProjectDto> Handle(ProjectByIdQuery request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var project = await _context.Projects
                          .Include(p => p.Author)
                          .Include(p => p.Team)
                          .SingleOrDefaultAsync(t => t.Id == request.Id, cancellationToken);

            if (project is null)
            {
                throw new NotFoundException(nameof(project));
            }

            return(_mapper.Map <ProjectDto>(project));
        }
 public Task <IActionResult> GetProjectById(ProjectByIdQuery query) => ExecuteQuery(query);