public async Task <IActionResult> FindTimeEntries( CancellationToken cancellationToken, [FromQuery] FindTimeEntriesBinding binding, [FromServices] IMediator mediator) { return(Ok(await mediator.Send(new TimeEntryListQuery(binding.Offset, binding.Limit), cancellationToken))); }
public async Task <IActionResult> FindTimeEntries( CancellationToken cancellationToken, [FromRoute] Guid projectId, [FromQuery] FindTimeEntriesBinding binding, [FromServices] IProjectRepository projectRepository, [FromServices] IMediator mediator) { var project = await projectRepository.Get(projectId, cancellationToken); if (project == null) { throw new ApiException(HttpStatusCode.NotFound, ErrorCode.ProjectNotFound, "Project not found"); } return(Ok(await mediator.Send(new TimeEntryListQuery(projectId, binding.Offset, binding.Limit), cancellationToken))); }
public async Task <IActionResult> FindTimeEntries( CancellationToken cancellationToken, [FromRoute] Guid id, [FromQuery] FindTimeEntriesBinding binding, [FromServices] IIssueRepository issueRepository, [FromServices] IMediator mediator) { var issue = await issueRepository.Get(id, cancellationToken); if (issue == null) { throw new ApiException(HttpStatusCode.NotFound, ErrorCode.IssueNotFound, "Issue not found"); } return(Ok(await mediator.Send(new TimeEntryListQuery(id, binding.Offset, binding.Limit), cancellationToken))); }