private void HandleCalculationInputUpdated(CalculationInput calculationInput)
        {
            CalculationInput           = calculationInput;
            LongTimePickupErrorMessage = CalculationInput.ArcDuration.GetStringError("LongTimePickup");
            IsEnabled = (CalculationInput.ArcDuration.LongTimePickup.HasValue && LongTimePickupErrorMessage == null && CalculationInput.ArcDuration.LongTimeDelay != null &&
                         CalculationInput.ArcDuration.ShortTimePickup != null && CalculationInput.ArcDuration.ShortTimeDelay != null &&
                         CalculationInput.ArcDuration.Instantaneous != null);
            if (!_inModal && calculationInput.IsArcDurationCalculated)
            {
                CalculationInput.ArcDurationValue = _calculatorService.CalculateArcDuration(CalculationInput, CalculationOutput.EstimatedArcFaultCurrent.Value);
            }

            if (IsEnabled && _inModal && CalculationInput.ArcDuration.TripUnitType != null && CalculationInput.ArcDuration.Manufacturer != null && CalculationInput.ArcDuration.BreakerStyle != null && CalculationInput.SensorRating.HasValue)
            {
                CalculationInput.ArcDurationValue        = _calculatorService.CalculateArcDuration(CalculationInput, CalculationOutput.EstimatedArcFaultCurrent.Value);
                CalculationInput.IsArcDurationCalculated = true;
            }
        }
コード例 #2
0
        private void UpdateArcDuration(ArcDuration arcDuration)
        {
            if (arcDuration.Manufacturer == null)
            {
                Manufacturers.SelectedItem = arcDuration.Manufacturer;
            }
            if (arcDuration.BreakerStyle == null)
            {
                BreakerStyles.SelectedItem = arcDuration.BreakerStyle;
            }
            if (arcDuration.TripUnitType == null)
            {
                TripUnitTypes.SelectedItem = arcDuration.TripUnitType;
            }

            HasRangeErrors = CalculationInput.ArcDuration.ErrorCount > 0;
            HasErrors      = HasRangeErrors || CalculationInput.ArcDuration.HasErrors;
            HasCalculation = CalculationInput.ArcDurationValue.HasValue;
            if (CalculationOutput.EstimatedArcFaultCurrent != null)
            {
                CalculationInput.ArcDurationValue = _calculatorService.CalculateArcDuration(CalculationInput, CalculationOutput.EstimatedArcFaultCurrent.Value);
            }
        }