private void Z21Client_LocomotiveInformationChanged(TurnoutInformation e) { repos.TryGetValue(e.Address, out var turnout); if (turnout.IsCompletedSuccessfully) { turnout.Result.Update(e); } }
private void HandleTurnoutStatus(TurnoutInformation turnoutInformation) { this.turnouts.Single(y => y.Id == turnoutInformation.Address).Mode = turnoutInformation.TurnoutPosition switch { TurnoutPosition.Position1 => TurnoutMode.Right, TurnoutPosition.Position2 => TurnoutMode.Left, _ => null }; }
internal void Update(TurnoutInformation turnoutInformation) { if (TurnoutPosition.Equals(turnoutInformation.TurnoutPosition)) { return; } TurnoutPosition = turnoutInformation.TurnoutPosition; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("All!")); }