// TODO // Implement the missing parts of the presenter public void ChangeStation(string stationId) { foreach (Measurement measurement in iceCreamMonitor.GetMeasurements()) { if (measurement.StationId.Equals(stationId)) { view.SetStation(stationId); view.SetDate(measurement.Date); view.SetActual(measurement.Actual.ToString()); VarianceRange varianceRange = VarianceRange.normal; view.SetVarianceColor(Color.FromRgb(200, 0, 0)); view.SetVariance(iceCreamMonitor.CalculateVariance(measurement.Actual, out varianceRange).ToString()); } } }
public void ActualChanged(string tbxActualText) { if (int.TryParse(tbxActualText, out var actual)) { VarianceRange varianceRange = VarianceRange.normal; view.SetVarianceColor(Color.FromRgb(200, 0, 0)); view.SetVariance(iceCreamMonitor.CalculateVariance(actual, out varianceRange).ToString()); } else { MessageBoxResult messageBoxResult = MessageBox.Show( "You did not insert integer as actual value", "Failed", MessageBoxButton.OK); } }
internal int CalculateVariance(int actualVal, out VarianceRange range) { int variance = actualVal - Target; range = VarianceRange.normal; if (actualVal < Target * 0.9) { range = VarianceRange.low; } else if (actualVal > Target * 1.05) { range = VarianceRange.high; } return(variance); }