Пример #1
0
        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);
        }
Пример #2
0
 public FixtureEvent GetFixtureEvent(FixtureEventType fixtureEvent, int minute, Player involvedPlayer)
 {
     return(new FixtureEvent()
     {
         FixtureEventType = fixtureEvent,
         InvolvedPlayer = involvedPlayer,
         Minute = minute
     });
 }