internal TimelineEventCI(BasicEventDTO dto, CultureInfo culture) { Guard.Argument(dto, nameof(dto)).NotNull(); Id = dto.Id; Merge(dto, culture); }
internal TimelineEventCI(BasicEventDTO dto, CultureInfo culture) { Contract.Requires(dto != null); Id = dto.Id; Merge(dto, culture); }
public void Merge(BasicEventDTO dto, CultureInfo culture) { HomeScore = dto.HomeScore; AwayScore = dto.AwayScore; MatchTime = dto.MatchTime; Period = dto.Period; PeriodName = dto.PeriodName; Points = dto.Points; StoppageTime = dto.StoppageTime; Team = dto.Team; Type = dto.Type; Value = dto.Value; X = dto.X; Y = dto.Y; Time = dto.Time; if (dto.Assists != null && dto.Assists.Any()) { if (Assists == null || !Assists.Any()) { Assists = dto.Assists.Select(s => new EventPlayerAssistCI(s, culture)); } else { var newAssists = new List <EventPlayerAssistCI>(); foreach (var assist in dto.Assists) { var a = Assists.FirstOrDefault(f => Equals(f.Id, assist.Id)); if (a != null && a.Id.Equals(assist.Id)) { a.Merge(assist, culture); newAssists.Add(a); } else { newAssists.Add(new EventPlayerAssistCI(assist, culture)); } } Assists = newAssists; } } if (dto.GoalScorer != null) { if (GoalScorer == null) { GoalScorer = new EventPlayerCI(dto.GoalScorer, culture); } else { GoalScorer.Merge(dto.GoalScorer, culture); } } if (dto.Player != null) { if (Player == null) { Player = new EventPlayerCI(dto.Player, culture); } else { Player.Merge(dto.Player, culture); } } MatchStatusCode = dto.MatchStatusCode; MatchClock = dto.MatchClock; }