public async Task Handle(MatchRescheduledEvent notification, CancellationToken cancellationToken) { var fixture = this.dbContext.Fixtures.Single(x => x.FixtureId == notification.FixtureId); var homeTeam = this.dbContext.Teams.First(x => x.Id == notification.HomeTeamId); var awayTeam = this.dbContext.Teams.First(x => x.Id == notification.AwayTeamId); var match = new FixtureMatchViewModel { HomeTeam = $"{homeTeam.FirstName} {homeTeam.LastName}", HomeTeamId = notification.HomeTeamId, AwayTeam = $"{awayTeam.FirstName} {awayTeam.LastName}", AwayTeamId = notification.HomeTeamId, StartDate = fixture.StartDate, EndDate = fixture.EndDate, FixtureId = fixture.FixtureId, SeasonId = fixture.SeasonId, DivisionId = fixture.DivisionId, WeekNumber = fixture.WeekNumber, MatchId = notification.MatchId, Rescheluded = true }; await this.dbContext.AddAsync(match, cancellationToken); await this.dbContext.SaveChangesAsync(cancellationToken); }
protected override void Handle(FixtureMatchAddedEvent notification) { var fixture = this.context.Fixtures.Single(x => x.FixtureId == notification.FixtureGuid); var match = new FixtureMatchViewModel { HomeTeam = this.context.DivisionTeams.First(x => x.TeamId == notification.HomeTeamId && x.DivisionId == fixture.DivisionId).FullTeamName, HomeTeamId = notification.HomeTeamId, AwayTeam = this.context.DivisionTeams.First(x => x.TeamId == notification.AwayTeamId && x.DivisionId == fixture.DivisionId).FullTeamName, AwayTeamId = notification.HomeTeamId, StartDate = fixture.StartDate, EndDate = fixture.EndDate, FixtureId = fixture.FixtureId, SeasonId = fixture.SeasonId, DivisionId = fixture.DivisionId, WeekNumber = fixture.WeekNumber, MatchId = notification.MatchId }; this.context.Add(match); this.context.SaveChanges(); }