Projekt

Obecné

Profil

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