Inheritance: DriverMessageBase
 /// <inheritdoc/>
 public virtual void Visit(SetDriverStatusMessage message)
 {
 }
 public void Visit(SetDriverStatusMessage message)
 {
     Result = true;
 }
 void IMessageVisitor.Visit(SetDriverStatusMessage message)
 {
     Dispatch(message);
 }
 /// <inheritdoc/>
 public override void Visit(SetDriverStatusMessage message)
 {
     if(IsForMyDriver(message))
     {
         Model.Status = message.DriverStatus;
     }
 }
        private Message TranslateSetCarNumberValue(SetGridColumnValueMessage message)
        {
            Message translated = null;
            LiveDriver driver = GetDriver(message);
            int carNumber = LiveData.ParseInt32(message.Value);
            DriverStatus status = LiveData.ToDriverStatus(message.Colour);

            if(driver.CarNumber != carNumber)
            {
                translated = new SetDriverCarNumberMessage(driver.Id, carNumber);
            }
            if(driver.Status != status)
            {
                Message temp = new SetDriverStatusMessage(driver.Id, status);
                translated = translated == null ? temp : new CompositeMessage(translated, temp);
            }

            return translated;
        }
 /// <inheritdoc/>
 public override void Visit(SetDriverStatusMessage message)
 {
     GetDriver(message).ChangeStatus(message.DriverStatus);
 }