Projekt

Obecné

Profil

Stáhnout (2.86 KB) Statistiky
| Větev: | Tag: | Revize:
1 0da0ac88 A-Konig
using System;
2
3 734533a8 A-Konig
namespace ServerApp.Parser.OutputInfo
4 0da0ac88 A-Konig
{
5 734533a8 A-Konig
    /// <summary>
6
    /// Class representing the weather in a given interval at ZCU
7
    /// - shortest possible interval is 1h
8
    /// </summary>
9 98b568bc A-Konig
    /// <author>Alex Konig</author>
10 0da0ac88 A-Konig
    class WeatherInfo
11
    {
12 734533a8 A-Konig
        /// <summary> Temperature in °C </summary>
13
        public double temp;
14
        /// <summary> Probability of rain in % </summary>
15
        public int rain;
16
        /// <summary> Wind in m/s </summary>
17
        public double wind;
18
        /// <summary> Luminance </summary>
19
        public double lum;
20
        /// <summary> General weather conditions </summary>
21
        public WeatherConditions condition;
22 0da0ac88 A-Konig
23 734533a8 A-Konig
        /// <summary> Start of interval </summary>
24 0da0ac88 A-Konig
        DateTime startTime;
25 734533a8 A-Konig
        /// <summary> Length of interval in hours </summary>
26
        int intervalLength;
27 0da0ac88 A-Konig
28 734533a8 A-Konig
        /// <summary>
29
        /// Constructor
30
        /// </summary>
31
        /// <param name="startTime">Start of the interval</param>
32
        /// <param name="temp">Temperature in °C</param>
33
        /// <param name="rain">Probability of rain in %</param>
34
        /// <param name="wind">Wind in m/w</param>
35
        /// <param name="lum">Luminance in lux</param>
36
        /// <param name="intervalLength">Interval length</param>
37
        public WeatherInfo(DateTime startTime, double temp, int rain, double wind, double lum, int intervalLength)
38 0da0ac88 A-Konig
        {
39
            this.startTime = startTime;
40
            this.temp = temp;
41
            this.rain = rain;
42
            this.wind = wind;
43
            this.lum = lum;
44 734533a8 A-Konig
            this.intervalLength = intervalLength;
45
46
            condition = LuxToConditions.TransferLuxToConditions(lum);
47
        }
48
49
        /// <summary>
50
        /// Constructor
51
        /// </summary>
52
        /// <param name="startTime">Start of the interval</param>
53
        /// <param name="temp">Temperature in °C</param>
54
        /// <param name="rain">Probability of rain in %</param>
55
        /// <param name="wind">Wind in m/s</param>
56
        /// <param name="condition">Weather conditions</param>
57
        /// <param name="intervalLength">Interval length</param>
58
        public WeatherInfo(DateTime startTime, double temp, int rain, double wind, WeatherConditions condition, int intervalLength)
59
        {
60
            this.startTime = startTime;
61
            this.temp = temp;
62
            this.rain = rain;
63
            this.wind = wind;
64
            this.condition = condition;
65
            this.intervalLength = intervalLength;
66
67
            lum = LuxToConditions.TransferConditionsToLux(condition);
68 0da0ac88 A-Konig
        }
69
70 734533a8 A-Konig
        /// <summary>
71
        /// To string
72
        /// </summary>
73
        /// <returns>interval start temperature probability of rain wind    weather condition</returns>
74 0da0ac88 A-Konig
        public override string ToString()
75
        {
76 98b568bc A-Konig
            return $"{startTime.ToString()} \t {temp}°C \t {rain}% \t {wind}m/s \t {condition.ToString()} \t {lum}";
77 0da0ac88 A-Konig
        }
78
79
    }
80
}