1
|
//
|
2
|
// Author: A. Konig
|
3
|
//
|
4
|
|
5
|
using ServerApp.Parser.OutputInfo;
|
6
|
using System;
|
7
|
using System.Collections.Generic;
|
8
|
|
9
|
namespace ServerApp.Parser.Parsers
|
10
|
{
|
11
|
/// <summary>
|
12
|
/// Abstract class that every DataParser should inherit from
|
13
|
/// </summary>
|
14
|
/// <author>A. Konig</author>
|
15
|
public abstract class IDataParser
|
16
|
{
|
17
|
/// <summary> WeatherInfo </summary>
|
18
|
List<WeatherInfo> weatherList;
|
19
|
public List<WeatherInfo> WeatherList { get => weatherList; internal set => weatherList = value; }
|
20
|
/// <summary> ActivityInfo repersenting overall activity </summary>
|
21
|
List<ActivityInfo> attendanceList;
|
22
|
public List<ActivityInfo> AttendanceList { get => attendanceList; internal set => attendanceList = value; }
|
23
|
|
24
|
/// <summary> List of weather file names the parser was last used on </summary>
|
25
|
List<String> weatherdataUsed;
|
26
|
public List<string> WeatherDataUsed { get => weatherdataUsed; set => weatherdataUsed = value; }
|
27
|
|
28
|
/// <summary> List of activity file names the parser was last used on </summary>
|
29
|
List<String> activitydataUsed;
|
30
|
public List<string> ActivityDataUsed { get => activitydataUsed; set => activitydataUsed = value; }
|
31
|
|
32
|
|
33
|
/// <summary>
|
34
|
/// Parse data
|
35
|
/// </summary>
|
36
|
/// <param name="interval">Length of an interval</param>
|
37
|
/// <param name="wholeDay">Parse data as one instance per day</param>
|
38
|
/// <param name="endTime">End time of related data</param>
|
39
|
/// <param name="startTime">Start time of related data</param>
|
40
|
public abstract bool Parse(DateTime startTime, DateTime endTime, int interval = 1, bool wholeDay = true);
|
41
|
|
42
|
}
|
43
|
}
|