コード例 #1
0
        // 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());
                }
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }