commit 5d9a5bd93238c07a30e9c84872c8dae83dfb9026
Author: A-Konig <alex-nebulae@seznam.cz>
Date:   Sun Apr 11 21:48:11 2021 +0200

    Parser structure 1.0

diff --git a/Server/.vs/Parser 1.0/v16/.suo b/Server/.vs/Parser 1.0/v16/.suo
new file mode 100644
index 0000000..1b36c82
Binary files /dev/null and b/Server/.vs/Parser 1.0/v16/.suo differ
diff --git a/Server/Parser 1.0.sln b/Server/Parser 1.0.sln
new file mode 100644
index 0000000..01ae928
--- /dev/null
+++ b/Server/Parser 1.0.sln	
@@ -0,0 +1,25 @@
+﻿
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31105.61
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Parser 1.0", "Parser 1.0\Parser 1.0.csproj", "{916C1E8A-0D6D-43FB-8BDE-DBEDF441842D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{916C1E8A-0D6D-43FB-8BDE-DBEDF441842D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{916C1E8A-0D6D-43FB-8BDE-DBEDF441842D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{916C1E8A-0D6D-43FB-8BDE-DBEDF441842D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{916C1E8A-0D6D-43FB-8BDE-DBEDF441842D}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {4E18E2F7-ED86-43DF-9B8D-47294B10BA49}
+	EndGlobalSection
+EndGlobal
diff --git a/Server/Parser 1.0/App.config b/Server/Parser 1.0/App.config
new file mode 100644
index 0000000..56efbc7
--- /dev/null
+++ b/Server/Parser 1.0/App.config	
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    </startup>
+</configuration>
\ No newline at end of file
diff --git a/Server/Parser 1.0/InputData/CsvDataLoader.cs b/Server/Parser 1.0/InputData/CsvDataLoader.cs
new file mode 100644
index 0000000..3dd2f8c
--- /dev/null
+++ b/Server/Parser 1.0/InputData/CsvDataLoader.cs	
@@ -0,0 +1,106 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+
+namespace Parser_1._0.InputData
+{
+    static class CsvDataLoader
+    {
+        static CultureInfo cultureInfo = new CultureInfo("de-DE");
+
+        static string[] LoadCsv(string name)
+        {
+            string[] lines = File.ReadAllLines(name);
+            return lines;
+        }
+
+        public static List<JisInstance> LoadJisFile(string pathToFile)
+        {
+            var lines = LoadCsv(pathToFile);
+            List<JisInstance> list = new List<JisInstance>();
+
+            for (int i = 0; i < lines.Length; i++)
+            {
+                var data = lines[i].Split(';');
+                data[0] = data[0].Substring(1, data[0].Length - 2);
+                data[1] = data[1].Substring(1, data[1].Length - 2);
+                
+                var dateTime = DateTime.ParseExact(data[1], "G", cultureInfo);
+
+                int amount = 0;
+                int.TryParse(data[2], out amount);
+
+                JisInstance inst = new JisInstance(data[0], dateTime, amount);
+                list.Add(inst);
+            }
+
+            return list;
+        }
+
+        public static List<LogInInstance> LoadLoginFile(string pathToFile)
+        {
+            var lines = LoadCsv(pathToFile);
+            List<LogInInstance> list = new List<LogInInstance>();
+
+            for (int i = 0; i < lines.Length; i++)
+            {
+                var data = lines[i].Split(';');
+                data[0] = data[0].Substring(1, data[0].Length - 2);
+                data[3] = data[3].Substring(1, data[3].Length - 2);
+                data[4] = data[4].Substring(1, data[4].Length - 2);
+                data[5] = data[4].Substring(1, data[4].Length - 2);
+                data[6] = data[4].Substring(1, data[4].Length - 2);
+                data[7] = data[4].Substring(1, data[4].Length - 2);
+                data[8] = data[4].Substring(1, data[4].Length - 2);
+
+                var dateTime = DateTime.ParseExact(data[0], "G", cultureInfo);
+                var startTime = DateTime.ParseExact(data[3], "t", cultureInfo);
+                var endTime = DateTime.ParseExact(data[4], "t", cultureInfo);
+
+                int count = 0;
+                int.TryParse(data[1], out count);
+
+                int lesson = 0;
+                int.TryParse(data[2], out lesson);
+
+                LogInInstance inst = new LogInInstance(dateTime, count, lesson, startTime, endTime, data[5], data[6], data[7], data[8]);
+                list.Add(inst);
+            }
+
+            return list;
+        }
+
+        public static List<WeatherInstance> LoadWeatherFile(string pathToFile)
+        {
+            var lines = LoadCsv(pathToFile);
+            
+            List<WeatherInstance> list = new List<WeatherInstance>();
+            for (int i = 0; i < lines.Length; i++)
+            {
+                var data = lines[i].Split(';');
+                data[0] = data[0].Substring(1, data[0].Length - 2);
+                
+                var dateTime = DateTime.ParseExact(data[0], "G", cultureInfo);
+                
+                double temp = 0;
+                double.TryParse(data[1], out temp);
+                
+                double wind = 0;
+                double.TryParse(data[2], out wind);
+                
+                int rain = 0;
+                int.TryParse(data[3], out rain);
+                
+                double lum = 0;
+                double.TryParse(data[4], out lum);
+
+                WeatherInstance inst = new WeatherInstance(dateTime, temp, wind, rain, lum);
+                list.Add(inst);
+            }
+
+            return list;
+        }
+
+    }
+}
diff --git a/Server/Parser 1.0/InputData/JisInstance.cs b/Server/Parser 1.0/InputData/JisInstance.cs
new file mode 100644
index 0000000..3df6d97
--- /dev/null
+++ b/Server/Parser 1.0/InputData/JisInstance.cs	
@@ -0,0 +1,32 @@
+﻿using System;
+
+namespace Parser_1._0.InputData
+{
+    /// <summary>
+    ///
+    /// Data contains:
+    ///     datum_a_cas - timestamp of JIS authentication(accuracy in milliseconds)
+    ///     pocet_logu - number of authentized users in given time
+    ///     popis_objektu - description of object according to standard ZČU tagging
+    /// Csv format:
+    ///     "A1";"08.04.2018 14:23:15";1
+    ///     [place tag];[date time];[amount]
+    /// </summary>
+    class JisInstance
+    {
+        //0
+        public string placeTag;
+        //1
+        public DateTime dateTime;
+        //2
+        public int amount;
+
+        public JisInstance(string placeTag, DateTime dateTime, int amount)
+        {
+            this.placeTag = placeTag;
+            this.dateTime = dateTime;
+            this.amount = amount;
+        }
+
+    }
+}
diff --git a/Server/Parser 1.0/InputData/LogInInstance.cs b/Server/Parser 1.0/InputData/LogInInstance.cs
new file mode 100644
index 0000000..76c0f5c
--- /dev/null
+++ b/Server/Parser 1.0/InputData/LogInInstance.cs	
@@ -0,0 +1,63 @@
+﻿using System;
+
+namespace Parser_1._0.InputData
+{
+
+    /// <summary>
+    /// 
+    /// 
+    /// Data contains:
+    ///     datum - date of access
+    ///     budova - building tag
+    ///     hodina_zacatek - start of lecture
+    ///     hodina_konec - end of lecture
+    ///     pocet_prihlaseni - number of successfull sign-ins to given computer in given lecture
+    ///     stroj_hostname - name of specific computer
+    ///     typ_objektu - type of object (classroom, laboratory, lecture room, other)
+    ///     ucebna_nazev - specific name of room
+    ///     vyucovaci_hodina - number of lecture(according to the timetable)
+    /// Csv format:
+    ///     "27.10.2011 00:00:00";1;7;"13:00";"13:45";"UI";"Laboratoř";"UI-505";"ui505av07-lps"
+    ///     [datum];[amount];[lesson];[lesson start];[lesson end];[building];[room type];[room];[hostname]
+    /// </summary>
+    class LogInInstance
+    {
+        // index 0
+        public DateTime date;
+        // index 1
+        public int amount;
+        // index 2
+        public int lesson;
+        // index 3
+        public DateTime lessonStart;
+        // index 4
+        public DateTime lessonEnd;
+        // index 5
+        public string building;
+        // index 6
+        public string roomType;
+        // index 7
+        public string room;
+        // index 8
+        public string hostname;
+        
+
+        public LogInInstance(DateTime date, int amount, int lesson, DateTime lessonStart, DateTime lessonEnd, string building, string roomtType, string room, string hostname)
+        {
+            this.date = date;
+            this.amount = amount;
+            this.lesson = lesson;
+            this.lessonStart = lessonStart;
+            this.lessonEnd = lessonEnd;
+            this.building = building;
+            this.roomType = roomtType;
+            this.room = room;
+            this.hostname = hostname;
+        }
+
+        public override string ToString()
+        {
+            return date + " " + room + " " + lessonStart + "-" + lessonEnd + " " + amount;
+        }
+    }
+}
diff --git a/Server/Parser 1.0/InputData/WeatherInstance.cs b/Server/Parser 1.0/InputData/WeatherInstance.cs
new file mode 100644
index 0000000..ee312fd
--- /dev/null
+++ b/Server/Parser 1.0/InputData/WeatherInstance.cs	
@@ -0,0 +1,33 @@
+﻿using System;
+
+namespace Parser_1._0.InputData
+{
+    /// <summary>
+    /// 
+    /// Csv format:
+    ///     "30.04.2019 16:19:01";20.3;5.3;0;19
+    ///     [date time];[temperature];[wind];[rain];[luminance]
+    /// </summary>
+    class WeatherInstance
+    {
+        // 0
+        public DateTime dateTime;
+        // 1
+        public double temp;
+        // 2
+        public double wind;
+        // 3
+        public int rain;
+        // 4
+        public double lum;
+
+        public WeatherInstance(DateTime date, double temp, double wind, int rain, double lum)
+        {
+            this.dateTime = date;
+            this.temp = temp;
+            this.wind = wind;
+            this.rain = rain;
+            this.lum = lum;
+        }
+    }
+}
diff --git a/Server/Parser 1.0/OutputInfo/JisInfo.cs b/Server/Parser 1.0/OutputInfo/JisInfo.cs
new file mode 100644
index 0000000..33a3737
--- /dev/null
+++ b/Server/Parser 1.0/OutputInfo/JisInfo.cs	
@@ -0,0 +1,24 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.OutputInfo
+{
+    class JisInfo
+    {
+        string faculty;
+        int amount;
+        DateTime startTime;
+        int intervalLength;
+
+        public JisInfo(string faculty, int amount, DateTime startTime, int intervalLength)
+        {
+            this.faculty = faculty;
+            this.amount = amount;
+            this.startTime = startTime;
+            this.intervalLength = intervalLength;
+        }
+    }
+}
diff --git a/Server/Parser 1.0/OutputInfo/LogInInfo.cs b/Server/Parser 1.0/OutputInfo/LogInInfo.cs
new file mode 100644
index 0000000..e636422
--- /dev/null
+++ b/Server/Parser 1.0/OutputInfo/LogInInfo.cs	
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.OutputInfo
+{
+    class LogInInfo
+    {
+    }
+}
diff --git a/Server/Parser 1.0/OutputInfo/LumInfo.cs b/Server/Parser 1.0/OutputInfo/LumInfo.cs
new file mode 100644
index 0000000..61a4716
--- /dev/null
+++ b/Server/Parser 1.0/OutputInfo/LumInfo.cs	
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.OutputInfo
+{
+    class LumInfo
+    {
+    }
+}
diff --git a/Server/Parser 1.0/OutputInfo/RainInfo.cs b/Server/Parser 1.0/OutputInfo/RainInfo.cs
new file mode 100644
index 0000000..b6c4d1c
--- /dev/null
+++ b/Server/Parser 1.0/OutputInfo/RainInfo.cs	
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.OutputInfo
+{
+    class RainInfo
+    {
+    }
+}
diff --git a/Server/Parser 1.0/OutputInfo/TempInfo.cs b/Server/Parser 1.0/OutputInfo/TempInfo.cs
new file mode 100644
index 0000000..9e3cc0e
--- /dev/null
+++ b/Server/Parser 1.0/OutputInfo/TempInfo.cs	
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.OutputInfo
+{
+    class TempInfo
+    {
+    }
+}
diff --git a/Server/Parser 1.0/OutputInfo/WindInfo.cs b/Server/Parser 1.0/OutputInfo/WindInfo.cs
new file mode 100644
index 0000000..0f23e07
--- /dev/null
+++ b/Server/Parser 1.0/OutputInfo/WindInfo.cs	
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.OutputInfo
+{
+    class WindInfo
+    {
+    }
+}
diff --git a/Server/Parser 1.0/Parser 1.0.csproj b/Server/Parser 1.0/Parser 1.0.csproj
new file mode 100644
index 0000000..8dbd8a4
--- /dev/null
+++ b/Server/Parser 1.0/Parser 1.0.csproj	
@@ -0,0 +1,66 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{916C1E8A-0D6D-43FB-8BDE-DBEDF441842D}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <RootNamespace>Parser_1._0</RootNamespace>
+    <AssemblyName>Parser 1.0</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="InputData\CsvDataLoader.cs" />
+    <Compile Include="InputData\WeatherInstance.cs" />
+    <Compile Include="OutputInfo\JisInfo.cs" />
+    <Compile Include="InputData\JisInstance.cs" />
+    <Compile Include="InputData\LogInInstance.cs" />
+    <Compile Include="OutputInfo\LogInInfo.cs" />
+    <Compile Include="OutputInfo\LumInfo.cs" />
+    <Compile Include="OutputInfo\RainInfo.cs" />
+    <Compile Include="OutputInfo\TempInfo.cs" />
+    <Compile Include="OutputInfo\WindInfo.cs" />
+    <Compile Include="Parsers\JisParser.cs" />
+    <Compile Include="Parsers\LogInParser.cs" />
+    <Compile Include="Parsers\WeatherParser.cs" />
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/Server/Parser 1.0/Parsers/JisParser.cs b/Server/Parser 1.0/Parsers/JisParser.cs
new file mode 100644
index 0000000..e82d8dc
--- /dev/null
+++ b/Server/Parser 1.0/Parsers/JisParser.cs	
@@ -0,0 +1,83 @@
+﻿using Parser_1._0.OutputInfo;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using Parser_1._0.InputData;
+
+namespace Parser_1._0.Parsers
+{
+    class JisParser
+    {
+
+        static List<JisInfo> ParseJisData(string folder, bool wholeDay = true, int interval = 1)
+        {
+            List<JisInfo> list = new List<JisInfo>();
+
+            // najít složku, ve složce sou data co se budou parsovat
+
+            if (!Directory.Exists(folder))
+                return null;
+
+            // když v jednej složce budou všechny jis data co chci zpracovat
+            // pro každej soubor budu spouštět parsování
+            string[] fileEntries = Directory.GetFiles(folder);
+            foreach (string fileName in fileEntries)
+            {
+                List<JisInfo> loadedData = null;
+                // pokud po jednom dni
+                if (wholeDay)
+                    loadedData = ProcessOneJisFileAsDays(folder + "/" + fileName);
+                // pokud po hodinách
+                else
+                {
+                    // pokud: konec dne nebo konec aktuálního intervalu -> vemu to co sem nasčítal
+                    throw new NotImplementedException();
+                }
+
+                list.AddRange(loadedData);
+            }
+
+            return list;
+        }
+
+        private static List<JisInfo> ProcessOneJisFileAsDays(string path)
+        {
+            List<JisInfo> jisInfo = new List<JisInfo>();
+
+            // načíst data ze souboru
+            List<JisInstance> list =  CsvDataLoader.LoadJisFile(path);
+
+            int[] recordedAmount = new int[TagInfo.faculties.Length];
+
+            // procházet data ze souboru
+            int lastDay = list[0].dateTime.Day;
+            DateTime lastStartTime = list[0].dateTime.Date;
+            for (int i = 0; i < list.Count; i++)
+            {
+                // v každym dni agreguju
+                int day = list[i].dateTime.Day;
+                if (lastDay != day)
+                {
+                    for (int k = 0; k < TagInfo.faculties.Length; k++)
+                    {
+                        JisInfo dayInfo = new JisInfo(TagInfo.faculties[k], recordedAmount[k], lastStartTime, 11);
+                        jisInfo.Add(dayInfo);
+                    }
+
+                    recordedAmount = new int[TagInfo.faculties.Length];
+                }
+
+                // tady nasčítávát podle místa
+                if (TagInfo.jisPlaces.ContainsKey(list[i].placeTag))
+                    recordedAmount[TagInfo.jisPlaces[list[i].placeTag]] += list[i].amount;
+                else
+                {
+                    Console.WriteLine("Unknown code " + list[i].placeTag);
+                }
+
+            }
+
+            throw new NotImplementedException();
+        }
+    }
+}
diff --git a/Server/Parser 1.0/Parsers/LogInParser.cs b/Server/Parser 1.0/Parsers/LogInParser.cs
new file mode 100644
index 0000000..b21f7c6
--- /dev/null
+++ b/Server/Parser 1.0/Parsers/LogInParser.cs	
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.Parsers
+{
+    class LogInParser
+    {
+    }
+}
diff --git a/Server/Parser 1.0/Parsers/TagInfo.cs b/Server/Parser 1.0/Parsers/TagInfo.cs
new file mode 100644
index 0000000..918142c
--- /dev/null
+++ b/Server/Parser 1.0/Parsers/TagInfo.cs	
@@ -0,0 +1,130 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.Parsers
+{
+    class TagInfo
+    {
+        public static string[] faculties;
+        public static Dictionary<string, int> jisPlaces;
+        public static Dictionary<string, int> buildingTags;
+
+        public static void CreateDictionaries()
+        {
+            // FACULTIES
+
+            faculties = new string[] { "FST", "FEK", "FEL", "FDU", "FF", "FPE", "FEK-CH", "FZS", "FAV", "FPR" };
+
+            // BUILDING TAGS
+
+            buildingTags.Add("UV", -2);
+            buildingTags.Add("UU", -2);
+            buildingTags.Add("UK", -2);
+            buildingTags.Add("UL", -2);
+            buildingTags.Add("UP", -2);
+            buildingTags.Add("UF", -2);
+
+            buildingTags.Add("UT", 0);
+
+            buildingTags.Add("EU", 2);
+            buildingTags.Add("EK", 2);
+            buildingTags.Add("EL", 2);
+            buildingTags.Add("EP", 2);
+            buildingTags.Add("ES", 2);
+            buildingTags.Add("ET", 2);
+            buildingTags.Add("EH", 2);
+            buildingTags.Add("EZ", 2);
+
+            buildingTags.Add("LS", 3);
+
+            buildingTags.Add("JJ", 4);
+            buildingTags.Add("RJ", 4);
+            buildingTags.Add("RS", 4);
+            buildingTags.Add("SP", 4);
+            buildingTags.Add("SD", 4);
+            buildingTags.Add("ST", 4);
+            buildingTags.Add("SO", 4);
+
+            buildingTags.Add("CH", 5);
+            buildingTags.Add("VC", 5);
+            buildingTags.Add("KL", 5);
+
+            buildingTags.Add("CD", 6);
+
+            buildingTags.Add("HJ", 7);
+            buildingTags.Add("DD", 7);
+
+            buildingTags.Add("UN", 8);
+            buildingTags.Add("UC", 8);
+            buildingTags.Add("US", 8);
+
+            buildingTags.Add("PC", 9);
+            buildingTags.Add("PS", 9);
+
+            buildingTags.Add("UI", -1);
+            buildingTags.Add("UB", -1);
+
+            // JIS PLACES
+
+            jisPlaces.Add("A1", -1);
+            jisPlaces.Add("A2-Hlavni vchod", -1);
+            jisPlaces.Add("A3", -1);
+            jisPlaces.Add("B3-LEVY", -1);
+            jisPlaces.Add("M16", -1);
+            jisPlaces.Add("M14", -1);
+            jisPlaces.Add("L1", -1);
+            jisPlaces.Add("L2", -1);
+            jisPlaces.Add("L1L2-vchod", -1);
+            jisPlaces.Add("Zavora-Kaplirova", -1);
+            jisPlaces.Add("KolaBory-vnejsi", -1);
+            jisPlaces.Add("KolaBory-vnitrni", -1);
+            jisPlaces.Add("Parkoviste-vjezd", -1);
+            jisPlaces.Add("Parkoviste-vyjezd", -1);
+            jisPlaces.Add("B3-kolarna", -1);
+            jisPlaces.Add("MenzaKL-vydej", -1);
+            jisPlaces.Add("Menza4-kasa1", -1);
+            jisPlaces.Add("Menza4-kasa2", -1);
+            jisPlaces.Add("Menza4-kasa3", -1);
+            jisPlaces.Add("Menza4-kasa4", -1);
+            jisPlaces.Add("Menza4-kasa5", -1);
+            jisPlaces.Add("Menza-kasa-1", -1);
+            jisPlaces.Add("Menza-kasa-p", -1);
+            jisPlaces.Add("Menza1-kasa-p", -1);
+            jisPlaces.Add("Menza1-kasa-l", -1);
+            jisPlaces.Add("STUD_UB113", -1);
+            jisPlaces.Add("STUD_UB211", -1);
+
+            jisPlaces.Add("Zavora-FEL", 2);
+            jisPlaces.Add("US 005 - závora vjezd", 8);
+            jisPlaces.Add("US 005 - mříž vjezd", 8);
+            jisPlaces.Add("Zavora-NTIS-vjezd", 8);
+            jisPlaces.Add("Zavora-NTIS-vyjezd", 8);
+            jisPlaces.Add("EXT/kola-B", 8);
+            jisPlaces.Add("NTIS-BUFET", 8);
+
+            jisPlaces.Add("Zavora-FDU", 3);
+
+            jisPlaces.Add("VC-VJEZD", 5);
+            jisPlaces.Add("VC-VYJEZD", 5);
+            jisPlaces.Add("STUD_VC53", 5);
+            jisPlaces.Add("STUD_KL20", 5);
+            jisPlaces.Add("STUD_KL87", 5);
+
+            jisPlaces.Add("EXT/kola", 0);
+
+            jisPlaces.Add("EP-BUFET", 2);
+
+            jisPlaces.Add("UV1-Bufet", 1);
+
+            jisPlaces.Add("STUD_CHEB", 6);
+
+            jisPlaces.Add("STUD_PRA1", 9);
+
+            jisPlaces.Add("STUD_ST407", 4);
+        }
+
+    }
+}
diff --git a/Server/Parser 1.0/Parsers/WeatherParser.cs b/Server/Parser 1.0/Parsers/WeatherParser.cs
new file mode 100644
index 0000000..607d683
--- /dev/null
+++ b/Server/Parser 1.0/Parsers/WeatherParser.cs	
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0.Parsers
+{
+    class WeatherParser
+    {
+    }
+}
diff --git a/Server/Parser 1.0/Program.cs b/Server/Parser 1.0/Program.cs
new file mode 100644
index 0000000..52a0006
--- /dev/null
+++ b/Server/Parser 1.0/Program.cs	
@@ -0,0 +1,17 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Parser_1._0
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+
+
+        }
+    }
+}
diff --git a/Server/Parser 1.0/Properties/AssemblyInfo.cs b/Server/Parser 1.0/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..e5f2f59
--- /dev/null
+++ b/Server/Parser 1.0/Properties/AssemblyInfo.cs	
@@ -0,0 +1,36 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Parser 1.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Parser 1.0")]
+[assembly: AssemblyCopyright("Copyright ©  2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("916c1e8a-0d6d-43fb-8bde-dbedf441842d")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Server/Parser 1.0/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/Server/Parser 1.0/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
new file mode 100644
index 0000000..3871b18
--- /dev/null
+++ b/Server/Parser 1.0/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs	
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
diff --git a/Server/Parser 1.0/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Server/Parser 1.0/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..d6189b8
Binary files /dev/null and b/Server/Parser 1.0/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Server/Parser 1.0/obj/Debug/Parser 1.0.csprojAssemblyReference.cache b/Server/Parser 1.0/obj/Debug/Parser 1.0.csprojAssemblyReference.cache
new file mode 100644
index 0000000..24df8ab
Binary files /dev/null and b/Server/Parser 1.0/obj/Debug/Parser 1.0.csprojAssemblyReference.cache differ
