public void AddFixtureEvent(Guid fixtureId, FixtureEventType fixtureEventType, int minute, Guid playerId) { var targetFixture = this.GetById(fixtureId); var targetPlayer = this.playersRepo.All.FirstOrDefault(p => p.Id == playerId); if (targetPlayer == null) { throw new ArgumentNullException("Invalid player id!"); } var isHomeTeamScoring = targetFixture.HomeTeam.Players.Any(p => p.Id == playerId); var fixtureEvent = this.fixturesFactory.GetFixtureEvent(fixtureEventType, minute, targetPlayer); targetFixture.FixtureEvents.Add(fixtureEvent); if (fixtureEventType == FixtureEventType.Goal) { if (isHomeTeamScoring) { targetFixture.ScoreHomeTeam += 1; } else { targetFixture.ScoreAwayTeam += 1; } fixtureEvent.EventScore = string.Format("{0} : {1}", targetFixture.ScoreHomeTeam, targetFixture.ScoreAwayTeam); } this.Data.Update(targetFixture); }
public FixtureEvent GetFixtureEvent(FixtureEventType fixtureEvent, int minute, Player involvedPlayer) { return(new FixtureEvent() { FixtureEventType = fixtureEvent, InvolvedPlayer = involvedPlayer, Minute = minute }); }