public void Handle(SprintFinished evnt) { using (var context = new ReadModelContainer()) { var sprint = context.Sprints.Single(s => s.Id == evnt.SprintId); sprint.IsActive = false; } }
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(); }
protected void OnSprintFinished(SprintFinished e) { IsActive = false; }