예제 #1
0
        private void bChangeHeaterState_Click(object sender, EventArgs e)
        {
            var hs = new HeaterService();

            currentState = !currentState;
            hs.ChangeHeaterState(currentState);
        }
예제 #2
0
        private void bImOut_Click(object sender, EventArgs e)
        {
            tbWma.Text = "";
            tBRlPredictedValue.Text  = "";
            tbAnnPredictedValue.Text = "";
            selectedWeekday          = comboBox1.SelectedItem.ToString();

            var doPredictionsTask = new Task(() =>
            {
                try
                {
                    RunRl();
                    RunANN();
                    RunWma();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            });

            doPredictionsTask.Start();
            doPredictionsTask.Wait();
            AppendTextBox(TimeConverter.ConvertFromDoubleToTime(_predictWma).ToString(), tbWma);
            AppendTextBox(TimeConverter.ConvertFromDoubleToTime(_predictRL).ToString(), tBRlPredictedValue);
            AppendTextBox(TimeConverter.ConvertFromDoubleToTime(_predictANN).ToString(), tbAnnPredictedValue);

            _heatDemand = new HeatDemandForBuilding();
            var task = _weatherService.GetTodaysTemperature();

            task.ContinueWith(x =>
            {
                SetText(task.Result.ToString(CultureInfo.InvariantCulture));

                var heatLosses  = _heatDemand.CalculateHeatDemandForBuilding(task.Result);
                var powerNeeded = 300 * 1.2 * 1000 * (21 - task.Result) / 1000;
                var heatingTime = HeaterService.CalculateHeaterUseTime(0.8, 15, powerNeeded, heatLosses).TotalSeconds;
                var valueAnn    = TimeSpan.Parse(tbAnnPredictedValue.Text, CultureInfo.InvariantCulture);
                var newValue    = new TimeSpan(0, valueAnn.Minutes, valueAnn.Seconds, 0);
                AppendTextBox("00:" +
                              TimeSpan.FromSeconds(newValue.TotalSeconds - heatingTime), tbANNHeatingStart);
                var valueWma    = TimeSpan.Parse(tbWma.Text, CultureInfo.InvariantCulture);
                var newValueWma = new TimeSpan(0, valueWma.Minutes, valueWma.Seconds, 0);
                AppendTextBox("00:" +
                              TimeSpan.FromSeconds(newValueWma.TotalSeconds - heatingTime), tbWmaHeatingStart);
                var valueRl    = TimeSpan.Parse(tbWma.Text, CultureInfo.InvariantCulture);
                var newValueRl = new TimeSpan(0, valueRl.Minutes, valueRl.Seconds, 0);
                AppendTextBox("00:" +
                              TimeSpan.FromSeconds(newValueRl.TotalSeconds - heatingTime), tbRlStartHeating);
            }
                              );
        }