Atmo.UI.DevEx.MainForm.timerAwekas_Tick C# (CSharp) Method

timerAwekas_Tick() private method

private timerAwekas_Tick ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void timerAwekas_Tick(object sender, EventArgs e)
        {
            string str_not_corr_sensor = "Not correct sensor selected!";

            int sensor_num;

            try
            {

                sensor_num = AppContext.PersistentState.StationSensorIndexAw;

                ISensor[] sensors = _deviceConnection.ToArray();

                if (sensors[sensor_num].IsValid)
                {
                    if (labelControlAwekas.Text == str_not_corr_sensor)
                    {
                        labelControlAwekas.SetPropertyThreadSafe(() => labelControlAwekas.Text, "Correct sensor selected");
                    }
                }
                else
                {
                    // CancelAwekas("Not correct sensor selected!");
                    labelControlAwekas.SetPropertyThreadSafe(() => labelControlAwekas.Text, str_not_corr_sensor);

                    return;
                }

                pom_inverval_aw++;

                var reading = sensors[sensor_num].GetCurrentReading();

                DateTime current = DateTime.Now;
                //System.Diagnostics.Debug.WriteLine(current.ToShortTimeString() + "Timer prerusenie - AWEKAS: " + pom_inverval_aw.ToString() );

                if (pom_inverval_aw < (AppContext.PersistentState.StationIntervalAW * 6)) return;
                pom_inverval_aw = 0;

                DateTime utcStamp = reading.TimeStamp.ToUniversalTime();
                string str_temp = "";
                if (reading.IsTemperatureValid)
                {
                    var tempConverter = ReadingValuesConverterCache<Reading>.TemperatureCache
                        .Get(sensors[sensor_num].TemperatureUnit, TemperatureUnit.Celsius);
                    var temperature = tempConverter.Convert(reading.Temperature);
                    str_temp = temperature.ToString();
                }
                string str_hum = "";
                if (reading.IsHumidityValid)
                {
                    str_hum = (reading.Humidity * 100.0).ToString();
                }
                string str_press = "";
                if (reading.IsPressureValid)
                {
                    var pressConverter = ReadingValuesConverterCache<Reading>.PressCache
                        .Get(sensors[sensor_num].PressureUnit, PressureUnit.Pascals);
                    var pressure = pressConverter.Convert(reading.Pressure)/100;
                    str_press = pressure.ToString();
                }
                string str_windspeed = "";
                if (reading.IsWindSpeedValid)
                {
                    var speedConverter = ReadingValuesConverterCache<Reading>.SpeedCache
                        .Get(sensors[sensor_num].SpeedUnit, SpeedUnit.MetersPerSec);
                    var speed = speedConverter.Convert(reading.WindSpeed / 3.6);
                    str_windspeed = speed.ToString();
                }

                string str_windir = "";
                if (reading.IsWindDirectionValid && reading.WindDirection >= 0 && reading.WindDirection <= 360.0)
                {
                    str_windir = ((int)(reading.WindDirection)).ToString();
                }

                var builder = new UriBuilder("http://www.awekas.at/extern/eingabe_pruefung.php?val=" + AppContext.PersistentState.StationNameAw.ToString() + ";" +
                      CalculateMD5Hash(AppContext.PersistentState.StationPasswordAw.ToString()) + ";" +
                      utcStamp.ToString("dd.MM.yyyy") + ";" +
                      utcStamp.ToString("hh:mm") + ";" +
                      str_temp + ";" +
                      str_hum + ";" +
                      str_press + ";" +
                      ";" + // precipiation
                      str_windspeed + ";" +
                      str_windir + ";" +
                      ";" + // 11
                      ";" + // 12
                      ";" + // 13
                      "en" + ";" +//14
                      "0" + ";" +//15
                      "0" + ";" //16

                );

                current = DateTime.Now;
                System.Diagnostics.Debug.WriteLine(current.ToShortTimeString() + "Poslane AWEKAS: " + builder.Uri);

                try
                {
                    var reqSent = HttpWebRequest.Create(builder.Uri);
                    reqSent.BeginGetResponse(HandleAwResult, reqSent);

                }
                catch (Exception ex)
                {
                   Log.Warn("Awekas failure.", ex );
                }

            }
            catch (Exception exmain)
            {
                Log.Warn("Awekas failure main: ", exmain );
            }
        }
MainForm