Beispiel #1
0
 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)));
 }
Beispiel #2
0
        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)));
        }
Beispiel #3
0
        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)));
        }