public SprintCommandHandler(SprintRepository sprintRepository, ISprintFactory sprintFactory, ISprintSearcher sprintSearcher, IIssueSearcher issueSearcher) { this.sprintRepository = sprintRepository; this.sprintFactory = sprintFactory; this.sprintSearcher = sprintSearcher; this.issueSearcher = issueSearcher; }
public async Task FinishSprint(IIssueSearcher issueSearcher) { if (Status != SprintStatus.InProgress) { throw new CannotChangeSprintStatus(Id, Status, SprintStatus.Finished, DomainInformationProvider.Name); } var currentDate = DateTime.UtcNow.Date; if (EndDate.Date != currentDate) { EndDate = currentDate; } Status = SprintStatus.Finished; var unfinishedIssueIds = await issueSearcher.FindUnfinishedIssuesForSprint(ProjectId, Id); Update(new SprintFinished(Id, Status, EndDate, unfinishedIssueIds)); }
public IssueQueryHandler(IIssueSearcher issueSearcher, IRepository <Issue> issueRepository, IUserSearcher userSearcher) { this.issueSearcher = issueSearcher; this.issueRepository = issueRepository; this.userSearcher = userSearcher; }