public async Task Handle(DeleteIssueCommand command, CancellationToken cancellationToken) { var specification = new IssueSpecification(command.IssueId); var issue = await _issueRepository.GetSingleOrDefaultAsync(specification); Check.NotNull(issue, nameof(issue)); _issueRepository.Delete(issue); await _unitOfWork.SaveChangesAsync(); }
public async Task <IssueDto> Handle(GetIssueByIdQuery query, CancellationToken cancellationToken) { var specification = new IssueSpecification(query.Id); var issue = await _issueRepository.GetSingleOrDefaultAsync(specification); Check.NotNull(issue, nameof(issue)); return(new IssueDto { Title = issue.Title, Description = issue.Title, Assignee = _mapperService.MapUserToUserDto(issue.Assignee), Status = issue.Status, Type = issue.Type, Reporter = _mapperService.MapUserToUserDto(issue.Reporter) }); }