コード例 #1
0
ファイル: ProjectDenormalizer.cs プロジェクト: stgolem/Scrumr
 public void Handle(SprintFinished evnt)
 {
     using (var context = new ReadModelContainer())
     {
         var sprint = context.Sprints.Single(s => s.Id == evnt.SprintId);
         sprint.IsActive = false;
     }
 }
コード例 #2
0
        public async Task HandleAsync(SprintFinished @event)
        {
            var sprint = await db.Sprints.Include(x => x.Tasks).Include(x => x.Subtasks).Include(x => x.Nfrs).Include(x => x.Bugs).SingleOrDefaultAsync(x => x.Id == @event.Id);

            if (sprint == null)
            {
                throw new EntityDoesNotExist(@event.Id, nameof(Models.Sprint));
            }

            sprint.End     = @event.End.Date;
            sprint.Status  = @event.Status;
            sprint.Version = @event.AggregateVersion;

            var unfinishedIssueIds = @event.UnfinishedIssueIds;
            var issues             = await db.Issues.Where(x => unfinishedIssueIds.Any(y => x.Id == y)).ToListAsync();

            var unfinishedIssues = issues.Select(x => new UnfinishedIssue(x.Id, IssueHelpers.GetIssueType(x), x.Title)).ToList();

            sprint.UnfinishedIssues = unfinishedIssues;

            await db.SaveChangesAsync();
        }
コード例 #3
0
ファイル: Sprint.cs プロジェクト: stgolem/Scrumr
 protected void OnSprintFinished(SprintFinished e)
 {
     IsActive = false;
 }