AK.F1.Timing.Live.LiveMessageTranslator.TranslateSetLapTimeColour C# (CSharp) Method

TranslateSetLapTimeColour() private method

private TranslateSetLapTimeColour ( SetGridColumnColourMessage message ) : Message
message AK.F1.Timing.Messages.Driver.SetGridColumnColourMessage
return Message
        private Message TranslateSetLapTimeColour(SetGridColumnColourMessage message)
        {
            var driver = GetDriver(message);

            if(driver.IsOnTrack && driver.LastLapTime != null)
            {
                switch(message.Colour)
                {
                    case GridColumnColour.White:
                        return new SetDriverLapTimeMessage(driver.Id,
                            new PostedTime(driver.LastLapTime.Time,
                                LiveData.ToPostedTimeType(message.Colour), driver.LapNumber));
                    case GridColumnColour.Green:
                    case GridColumnColour.Magenta:
                        // The feed often sends a colour update for the previous lap time to indicate
                        // that it was a PB or SB, in which case we publish a replacement time.
                        return new ReplaceDriverLapTimeMessage(driver.Id,
                            new PostedTime(driver.LastLapTime.Time,
                                LiveData.ToPostedTimeType(message.Colour), driver.LastLapTime.LapNumber));
                }
            }

            return null;
        }