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; } }
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); } }