Пример #1
0
        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);
        }
Пример #2
0
        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;
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
 public static KingpinFaultDiagnosis Diagnose(this IKingpinState kingpinState) => new KingpinFaultDiagnosis(kingpinState);
Пример #6
0
 public void SetGood()
 {
     KingpinState = FooKingpinState.FromGood();
 }
Пример #7
0
 public void Randomize()
 {
     KingpinState = new FooKingpinState();
     //GACore.Controls.ViewModel.ViewModelFactory.KingpinStateReporterViewModel.
 }
Пример #8
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            IKingpinState kingpinState = value as IKingpinState;

            return(kingpinState.IsVirtual ? Brushes.Cyan : Brushes.Black);
        }
Пример #9
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            IKingpinState kingpinState = value as IKingpinState;

            return(kingpinState.IsInFault());
        }
Пример #10
0
 private void Model_Updated()
 {
     KingpinState = Model?.Mail;
 }
Пример #11
0
 public void Randomize()
 {
     KingpinState = new FooKingpinState();
 }