protected override void HandleModelUpdate(KingpinStateMailbox oldValue, KingpinStateMailbox newValue) { if (oldValue != null) { oldValue.Updated -= Model_Updated; } if (newValue != null) { newValue.Updated += Model_Updated; } KingpinState = (newValue != null) ? newValue.Mail : null; base.HandleModelUpdate(oldValue, newValue); }
public KingpinFaultDiagnosis(IKingpinState kingpinState) { if (kingpinState == null) { throw new ArgumentNullException("kingpinState"); } dynamicLimiterFault = kingpinState.DynamicLimiterStatus.IsFault() ? (DynamicLimiterStatus?)kingpinState.DynamicLimiterStatus : null; extendedDataFault = kingpinState.ExtendedDataFaultStatus.IsFault() ? (ExtendedDataFaultStatus?)kingpinState.ExtendedDataFaultStatus : null; navigationFault = kingpinState.NavigationStatus.IsFault() ? (NavigationStatus?)kingpinState.NavigationStatus : null; pcsFault = kingpinState.PositionControlStatus.IsFault() ? (PositionControlStatus?)kingpinState.PositionControlStatus : null; }
public void Refresh() { IKingpinState toProcess = Model?.KingpinState; if (toProcess != null) { Alias = toProcess.Alias; ipAddress = toProcess.IPAddress; IsVirtual = toProcess.IsVirtual; CurrentMovementType = toProcess.CurrentMovementType; X = toProcess.X; Y = toProcess.Y; Heading = toProcess.Heading; DynamicLimiterStatus = toProcess.DynamicLimiterStatus; NavigationStatus = toProcess.NavigationStatus; PositionControlStatus = toProcess.PositionControlStatus; IsInFault = toProcess.IsInFault(); } else { Alias = string.Empty; IPAddress = null; IsVirtual = false; CurrentMovementType = MovementType.Stationary; X = float.NaN; Y = float.NaN; Heading = float.NaN; DynamicLimiterStatus = DynamicLimiterStatus.Unknown; NavigationStatus = NavigationStatus.Unknown; PositionControlStatus = PositionControlStatus.Unknown; IsInFault = false; } }
public static bool IsInFault(this IKingpinState kingpinState) { if (kingpinState.PositionControlStatus.IsFault()) { return(true); } if (kingpinState.NavigationStatus.IsFault()) { return(true); } if (kingpinState.DynamicLimiterStatus.IsFault()) { return(true); } if (kingpinState.ExtendedDataFaultStatus.IsFault()) { return(true); } return(false); }
public static KingpinFaultDiagnosis Diagnose(this IKingpinState kingpinState) => new KingpinFaultDiagnosis(kingpinState);
public void SetGood() { KingpinState = FooKingpinState.FromGood(); }
public void Randomize() { KingpinState = new FooKingpinState(); //GACore.Controls.ViewModel.ViewModelFactory.KingpinStateReporterViewModel. }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { IKingpinState kingpinState = value as IKingpinState; return(kingpinState.IsVirtual ? Brushes.Cyan : Brushes.Black); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { IKingpinState kingpinState = value as IKingpinState; return(kingpinState.IsInFault()); }
private void Model_Updated() { KingpinState = Model?.Mail; }
public void Randomize() { KingpinState = new FooKingpinState(); }