public SprintCommandHandler(SprintRepository sprintRepository, ISprintFactory sprintFactory, ISprintSearcher sprintSearcher, IIssueSearcher issueSearcher)
 {
     this.sprintRepository = sprintRepository;
     this.sprintFactory    = sprintFactory;
     this.sprintSearcher   = sprintSearcher;
     this.issueSearcher    = issueSearcher;
 }
Example #2
0
        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;
 }