Projekt

Obecné

Profil

Stáhnout (3.56 KB) Statistiky
| Větev: | Tag: | Revize:
1
using System;
2
using System.Collections.Generic;
3
using System.Globalization;
4
using System.IO;
5

    
6
namespace Parser.InputData
7
{
8
    static class CsvDataLoader
9
    {
10
        static CultureInfo cultureInfo = new CultureInfo("de-DE");
11

    
12
        static string[] LoadCsv(string name)
13
        {
14
            string[] lines = File.ReadAllLines(name);
15
            return lines;
16
        }
17

    
18
        public static List<JisInstance> LoadJisFile(string pathToFile)
19
        {
20
            var lines = LoadCsv(pathToFile);
21
            List<JisInstance> list = new List<JisInstance>();
22

    
23
            for (int i = 0; i < lines.Length; i++)
24
            {
25
                var data = lines[i].Split(';');
26
                data[0] = data[0].Substring(1, data[0].Length - 2);
27
                data[1] = data[1].Substring(1, data[1].Length - 2);
28
                
29
                var dateTime = DateTime.ParseExact(data[1], "G", cultureInfo);
30

    
31
                int amount = 0;
32
                int.TryParse(data[2], out amount);
33

    
34
                JisInstance inst = new JisInstance(data[0], dateTime, amount);
35
                list.Add(inst);
36
            }
37

    
38
            return list;
39
        }
40

    
41
        public static List<LogInInstance> LoadLoginFile(string pathToFile)
42
        {
43
            var lines = LoadCsv(pathToFile);
44
            List<LogInInstance> list = new List<LogInInstance>();
45

    
46
            for (int i = 0; i < lines.Length; i++)
47
            {
48
                var data = lines[i].Split(';');
49
                data[0] = data[0].Substring(1, data[0].Length - 2);
50
                data[3] = data[3].Substring(1, data[3].Length - 2);
51
                data[4] = data[4].Substring(1, data[4].Length - 2);
52
                data[5] = data[5].Substring(1, data[5].Length - 2);
53
                data[6] = data[6].Substring(1, data[6].Length - 2);
54
                data[7] = data[7].Substring(1, data[7].Length - 2);
55
                data[8] = data[8].Substring(1, data[8].Length - 2);
56

    
57
                var dateTime = DateTime.ParseExact(data[0], "G", cultureInfo);
58
                var startTime = DateTime.ParseExact(data[3], "t", cultureInfo);
59
                var endTime = DateTime.ParseExact(data[4], "t", cultureInfo);
60

    
61
                int count = 0;
62
                int.TryParse(data[1], out count);
63

    
64
                int lesson = 0;
65
                int.TryParse(data[2], out lesson);
66

    
67
                LogInInstance inst = new LogInInstance(dateTime, count, lesson, startTime, endTime, data[5], data[6], data[7], data[8]);
68
                list.Add(inst);
69
            }
70

    
71
            return list;
72
        }
73

    
74
        public static List<WeatherInstance> LoadWeatherFile(string pathToFile)
75
        {
76
            var lines = LoadCsv(pathToFile);
77
            
78
            List<WeatherInstance> list = new List<WeatherInstance>();
79
            for (int i = 0; i < lines.Length; i++)
80
            {
81
                var data = lines[i].Split(';');
82
                data[0] = data[0].Substring(1, data[0].Length - 2);
83
                
84
                var dateTime = DateTime.ParseExact(data[0], "G", cultureInfo);
85
                
86
                double temp = 0;
87
                double.TryParse(data[1], out temp);
88
                
89
                double wind = 0;
90
                double.TryParse(data[2], out wind);
91
                
92
                int rain = 0;
93
                int.TryParse(data[3], out rain);
94
                
95
                double lum = 0;
96
                double.TryParse(data[4], out lum);
97

    
98
                WeatherInstance inst = new WeatherInstance(dateTime, temp, wind, rain, lum);
99
                list.Add(inst);
100
            }
101

    
102
            return list;
103
        }
104

    
105
    }
106
}
(1-1/4)