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