コード例 #1
0
 private void HandleCalculationInputUpdated(CalculationInput calculationInput)
 {
     CalculationInput             = calculationInput;
     SensorRatingErrorMessage     = CalculationInput.GetStringError("SensorRating");
     ArcDurationValueErrorMessage = CalculationInput.GetStringError("ArcDurationValue");
     CalculationOutput.EstimatedArcFaultCurrent = _calculatorService.CalculateArcFaultCurrentAC(CalculationInput);
     EstimatedArcFaultCurrent = CalculationOutput.EstimatedArcFaultCurrent * 1000;
     CalculationOutput.MultipleOfSensorRating = _calculatorService.CalculateMultipleSensorRatingAC(CalculationInput, CalculationOutput.EstimatedArcFaultCurrent);
     HasErrors = SensorRatingErrorMessage != null || ArcDurationValueErrorMessage != null;
     IsEnabled = (CalculationInput.ArcDurationValue.HasValue && !HasErrors);
 }
コード例 #2
0
        private void UpdateCalculationInput(CalculationInput calculationInput)
        {
            CalculationInput = calculationInput;
            ErrorCount       = CalculationInput.ErrorCount;
            if (!CalculationInput.IsAlternatingCurrent.HasValue)
            {
                HasEstimatedArcFaultCurrent  = false;
                ShowAlternatingCurrentFields = CalculationInput.IsAlternatingCurrent ?? false;
                ShowDirectCurrentFields      = !CalculationInput.IsAlternatingCurrent ?? false;
                ShowConductorFields          = CalculationInput.HasCable ?? false;
                ShowTransformerFields        = CalculationInput.HasTransformer ?? false;

                if (Manufacturers != null)
                {
                    Manufacturers.SelectedItem = null;
                }
                if (BreakerStyles != null)
                {
                    BreakerStyles.SelectedItem = null;
                }
                if (TripUnitTypes != null)
                {
                    TripUnitTypes.SelectedItem = null;
                }
            }
            else
            {
                IsReset                      = true;
                EnableCableFields            = CalculationInput.HasCable.HasValue ? CalculationInput.HasCable.Value : false;
                EnableTransformerFields      = CalculationInput.HasTransformer.HasValue ? CalculationInput.HasTransformer.Value : false;
                HasRangeErrors               = calculationInput.ErrorCount > 0;
                HasErrors                    = !HasRangeErrors && calculationInput.HasErrors;
                IsDirectCurrent              = !CalculationInput.IsAlternatingCurrent ?? false;
                ShowConductorFields          = false;
                ShowTransformerFields        = false;
                ShowAlternatingCurrentFields = calculationInput.IsAlternatingCurrent ?? false;
                ShowDirectCurrentFields      = !calculationInput.IsAlternatingCurrent ?? false;
                if (ShowAlternatingCurrentFields)
                {
                    ShowConductorFields   = calculationInput.HasCable ?? false;
                    ShowTransformerFields = calculationInput.HasTransformer ?? false;
                }

                //do output calc
                CalculationOutput.EstimatedArcFaultCurrent = _calculatorService.CalculateArcFaultCurrentAC(calculationInput);
                EstimatedArcFaultCurrentInAmps             = CalculationOutput.EstimatedArcFaultCurrent * 1000;
                HasEstimatedArcFaultCurrent = EstimatedArcFaultCurrentInAmps != null;
                CalculationOutput.MultipleOfSensorRating = _calculatorService.CalculateMultipleSensorRatingAC(calculationInput, CalculationOutput.EstimatedArcFaultCurrent);
                _eventAggregator.GetEvent <CalculationOutputUpdated>().Publish(CalculationOutput);
            }
        }