commit 3d82487764adffc8de8387ea76467b32e96bc01c
Author: Vojtěch Bartička <aitakaitov@gmail.com>
Date:   Wed Apr 6 17:00:21 2022 +0200

    Static method to seed dummy tags

diff --git a/Backend/Core/Seeding/DummyTags.cs b/Backend/Core/Seeding/DummyTags.cs
new file mode 100644
index 0000000..0b798e8
--- /dev/null
+++ b/Backend/Core/Seeding/DummyTags.cs
@@ -0,0 +1,544 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Core.Contexts;
+using Core.Entities;
+
+namespace Core.Seeding
+{
+    public class DummyTags
+    {
+        public static void AddDummyTags(DatabaseContext context)
+        {
+            AddCookies(context);
+            AddSubjects(context);
+            AddRights(context);
+            AddExperimental(context);
+        }
+
+        private static void AddRights(DatabaseContext context)
+        {
+            TagCategory rightsCat = new TagCategory()                       
+            {
+                Name = "Práva subjektů údajů",
+                Description = "",
+                Color = ""
+            };
+            context.TagCategories.Add(rightsCat);
+
+            Tag pristupZadostTag = new Tag()                                        
+            {
+                Name = "pristup_zadost",
+                Description = "Informování subjektu o jeho právu na přístup k osobním údajům vztahujícím se k jeho osobě na jeho žádost.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(pristupZadostTag);
+
+            Tag pristupZadostDoplneniTag = new Tag()                                        
+            {
+                Name = "pristup_zadost_doplneni",
+                Description = "Instrukce pro subjekt, jakým způsobem má podat žádost.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(pristupZadostDoplneniTag);
+
+            Tag omezeniPristupuZadostTag = new Tag()                                        
+            {
+                Name = "omezeni_pristupu_zadost",
+                Description = "Informace o důvodech, z jakých může správce omezit či odmítnout vyhovění žádosti.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(omezeniPristupuZadostTag);
+
+            Tag opravaZadostTag = new Tag()                                        
+            {
+                Name = "oprava_zadost",
+                Description = "Informování subjektu o jeho právu na opravu osobních údajů vztahujícím se k jeho osobě na jeho žádost.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(opravaZadostTag);
+
+            Tag omezeniZpracovaniZadostTag = new Tag()                                        
+            {
+                Name = "omezeni_zpracovani_zadost",
+                Description = "Informování subjektu o možnosti omezit zpracování osobních údajů místo jejich opravy či výmazu.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(omezeniZpracovaniZadostTag);
+
+            Tag vymazZadostTag = new Tag()                                        
+            {
+                Name = "vymaz_zadost",
+                Description = "Informování subjektu o jeho právu na výmaz osobních údajů vztahujících se k jeho osobě na jeho žádost.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(vymazZadostTag);
+
+            Tag zaznamZadostTag = new Tag()                                        
+            {
+                Name = "zaznam_zadost",
+                Description = "Lhůta, zákonná či správcem určená, po kterou správce uchovává záznam o žádosti a způsobu jejího vyřízení.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(zaznamZadostTag);
+
+            Tag lhutaZadostTag = new Tag()                                        
+            {
+                Name = "lhuta_zadost",
+                Description = "Lhůta, zákonem či správcem určená, pro vyřízení žádosti od subjektu.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(lhutaZadostTag);
+
+            Tag namitkaZadostTag = new Tag()                                        
+            {
+                Name = "namitka_zadost",
+                Description = "Informace o možnosti podat námitku ohledně vyřízení žádosti správcem.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(namitkaZadostTag);
+
+            Tag podnetZadostTag = new Tag()                                        
+            {
+                Name = "podnet_zadost",
+                Description = "Informace o možnosti obrátit se na ÚOOÚ s podnětem o ověření zákonnosti.",
+                Color = "",
+                Category = rightsCat        
+            };
+            context.Tags.Add(podnetZadostTag);
+        }
+
+        private static void AddCookies(DatabaseContext context)
+        {
+            TagCategory cookiesCat = new TagCategory()                       
+            {
+                Name = "Síťové identifikátory (cookies)",
+                Description = "",
+                Color = ""
+            };
+            context.TagCategories.Add(cookiesCat);
+
+            Tag pouzitiCookiesTag = new Tag()                                       
+            {
+                Name = "pouziti_cookies",
+                Description = "Informace o tom, zda jsou použity cookies",
+                Color = "",
+                Category = cookiesCat        
+            };
+            context.Tags.Add(pouzitiCookiesTag);
+            
+            Tag vysvetlivkaCookiesTag = new Tag()
+            {
+                Name = "vysvetlivka_cookies",
+                Description = "Informace o tom, co jsou cookies a jak zpracovávají osobní údaje",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(vysvetlivkaCookiesTag);
+
+            Tag typCookiesTag = new Tag()
+            {
+                Name = "typ_cookies",
+                Description = "Informace o použití dočasných nebo trvalých souborů cookies",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(typCookiesTag);
+
+            Tag dobaCookiesTag = new Tag()
+            {
+                Name = "doba_cookies",
+                Description = "Informace o lhůtě uložení trvalých cookies",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(dobaCookiesTag);
+
+            Tag pouziteSystemyTag = new Tag()
+            {
+                Name = "pouzite_systemy",
+                Description = "Využití vlastních technických systémů, využití Google Analytics, využití dalších systémů  (např. NetMonitor, Recombee, Hotjar, …)",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(pouziteSystemyTag);
+
+            Tag cookiesTretichStranTag = new Tag()
+            {
+                Name = "cookies_tretich_stran",
+                Description = "Informace o využívání cookies třetích stran (Google, Facebook, Sklik, …)",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(cookiesTretichStranTag);
+
+            Tag ucelyCookiesTag = new Tag()
+            {
+                Name = "ucely_cookies",
+                Description = "Informace o tom, za jakými účely jsou prostřednictvím prohlížeče do přístroje ukládány cookies",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(ucelyCookiesTag);
+
+            Tag mericiPixelyTag = new Tag()
+            {
+                Name = "merici_pixely",
+                Description = "Informace o tom, že web používá tzv. měřící pixely",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(mericiPixelyTag);
+
+            Tag jmenoCookiesTag = new Tag()
+            {
+                Name = "jmeno_cookies",
+                Description = "Jméno použité cookies.",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(jmenoCookiesTag);
+
+            Tag vypnutiCookiesTag = new Tag()
+            {
+                Name = "vypnuti_cookies",
+                Description = "Návod na vypnutí cookies.",
+                Color = "",
+                Category = cookiesCat
+            };
+            context.Tags.Add(vypnutiCookiesTag);
+        }
+
+        private static void AddSubjects(DatabaseContext context)
+        {
+            TagCategory subjectsCat = new TagCategory()                       
+            {
+                Name = "Subjekty",
+                Description = "",
+                Color = ""
+            };
+            context.TagCategories.Add(subjectsCat);
+
+            Tag spravceTag = new Tag()
+            {
+                Name = "spravce",
+                Description = "Název správce",
+                Color = "",
+                Category = subjectsCat
+            };
+            context.Tags.Add(spravceTag);
+
+            Tag kontaktSpravceEmailTag = new Tag()                                        
+            {
+                Name = "kontakt_spravce_email",
+                Description = "Kontakt na správce – email",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(kontaktSpravceEmailTag);
+
+            Tag kontaktSpravceAdresaTag = new Tag()                                        
+            {
+                Name = "kontakt_spravce_adresa",
+                Description = "Kontakt na správce – adresa",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(kontaktSpravceAdresaTag);
+
+            Tag kontaktSpravceTelTag = new Tag()                                        
+            {
+                Name = "kontakt_spravce_tel",
+                Description = "Kontakt na správce – telefon",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(kontaktSpravceTelTag);
+
+            Tag kontaktSpravceNamitkyTag = new Tag()                                        
+            {
+                Name = "kontakt_spravce_namitky",
+                Description = "Zvláštní kontakt pro vznášení námitek a dotazů ohledně zpracování osobních údajů (např. specializovaný email)",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(kontaktSpravceNamitkyTag);
+
+            Tag spolSpravceTag = new Tag()                                        
+            {
+                Name = "spol_spravce",
+                Description = "Název společného správce",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(spolSpravceTag);
+
+            Tag kontaktSpolSpravceTag = new Tag()                                        
+            {
+                Name = "kontakt_spol_spravce",
+                Description = "Kontakt na společného správce",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(kontaktSpolSpravceTag);
+
+            Tag zpracovatelTag = new Tag()                                        
+            {
+                Name = "zpracovatel",
+                Description = "Název zpracovatele",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(zpracovatelTag);
+
+            Tag kontaktZpracovatelTag = new Tag()                                        
+            {
+                Name = "kontakt_zpracovatel",
+                Description = "Kontakt na zpracovatele",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(kontaktZpracovatelTag);
+
+            Tag poverenecTag = new Tag()                                        
+            {
+                Name = "poverenec",
+                Description = "Kontakt na pověřence pro ochranu osobních údajů",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(poverenecTag);
+
+            Tag prijemceTag = new Tag()                                        
+            {
+                Name = "prijemce",
+                Description = "Příjemce či kategorie příjemců osobních údaj",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(prijemceTag);
+
+            Tag dozorUradTag = new Tag()                                        
+            {
+                Name = "dozor_urad",
+                Description = "Název dozorového úřadu",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(dozorUradTag);
+
+            Tag kontaktDozorUradTag = new Tag()                                        
+            {
+                Name = "kontakt_dozor_urad",
+                Description = "Název dozorového úřadu",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(kontaktDozorUradTag);
+
+            Tag subjektUdajuTag = new Tag()                                        					//TODO: Potenciálně SubTagy?
+            {
+                Name = "subjekt_udaju",
+                Description = "V případě členění podmínek a vytváření specifických pravidel pro jednotlivé kategorie subjektů údajů je nutné rozlišit tyto subjekty a následně pro ně vytvořit zvláštní třídu a tagy. ",
+                Color = "",
+                Category = subjectsCat        
+            };
+            context.Tags.Add(subjektUdajuTag);
+
+            SubTag subjektUdajuSubTag = new SubTag()   // Optionally add subtag                 // SUBTAG EX.
+            {
+                Name = "subjekt_udaju_1",
+                Description = "subjekt udaju 1",
+                Tag = subjektUdajuTag                  // Specify the tag
+            };
+            context.SubTags.Add(subjektUdajuSubTag);
+        }
+
+        private static void AddExperimental(DatabaseContext context)
+        {
+            TagCategory experimentalCat = new TagCategory()                       
+            {
+                Name = "K diskuzi tagy pro jednotlivé cookies",
+                Description = "",
+                Color = ""
+            };
+            context.TagCategories.Add(experimentalCat);
+
+            Tag ukladaniInformaciVZarizeniTag = new Tag()                                        
+            {
+                Name = "ukladani_informaci_v_zarizeni",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(ukladaniInformaciVZarizeniTag);
+
+            Tag pristupKInformacimVZarizeniTag = new Tag()                                        
+            {
+                Name = "pristup_k_informacim_v_zarizeni",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(pristupKInformacimVZarizeniTag);
+
+            Tag nastaveniReklamyTag = new Tag()                                        
+            {
+                Name = "nastaveni_reklamy",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(nastaveniReklamyTag);
+
+            Tag personalizovanyObsahTag = new Tag()                                        
+            {
+                Name = "personalizovany_obsah",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(personalizovanyObsahTag);
+
+            Tag profilProPersonalizovanyObsahTag = new Tag()                                        
+            {
+                Name = "profil_pro_personalizovany_obsah",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(profilProPersonalizovanyObsahTag);
+
+            Tag mereniVykonuReklamyTag = new Tag()                                        
+            {
+                Name = "mereni_vykonu_reklamy",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(mereniVykonuReklamyTag);
+
+            Tag pouzitiVyzkumuTrhuTag = new Tag()                                        
+            {
+                Name = "pouziti_vyzkumu_trhu",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(pouzitiVyzkumuTrhuTag);
+
+            Tag vyberPersonalizovaneReklamyTag = new Tag()                                        
+            {
+                Name = "vyber_personalizovane_reklamy",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(vyberPersonalizovaneReklamyTag);
+
+            Tag vyvojAZlepsovaniTag = new Tag()                                        
+            {
+                Name = "vyvoj_a_zlepsovani",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(vyvojAZlepsovaniTag);
+
+            Tag profilProPersonalizovanouReklamuTag = new Tag()                                        
+            {
+                Name = "profil_pro_personalizovanou_reklamu",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(profilProPersonalizovanouReklamuTag);
+
+            Tag mereniVykonuObsahuTag = new Tag()                                        
+            {
+                Name = "mereni_vykonu_obsahu",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(mereniVykonuObsahuTag);
+
+            Tag zpracovaniDalsimiPartneryTag = new Tag()                                        
+            {
+                Name = "zpracovani_dalsimi_partnery",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(zpracovaniDalsimiPartneryTag);
+
+            Tag nezbytneCookiesTag = new Tag()                                        
+            {
+                Name = "nezbytne_cookies",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(nezbytneCookiesTag);
+
+            Tag parovaniOnlineAOfflineTag = new Tag()                                        
+            {
+                Name = "parovani_online_a_offline",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(parovaniOnlineAOfflineTag);
+
+            Tag propojeniZarizeniTag = new Tag()                                        
+            {
+                Name = "propojeni_zarizeni",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(propojeniZarizeniTag);
+
+            Tag identifikaceTag = new Tag()                                        
+            {
+                Name = "identifikace",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(identifikaceTag);
+
+            Tag technickeZajisteniZobrazovaniTag = new Tag()                                        
+            {
+                Name = "technicke_zajisteni_zobrazovani",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(technickeZajisteniZobrazovaniTag);
+
+            Tag predchazeniPodvodumTag = new Tag()                                        
+            {
+                Name = "predchazeni_podvodum",
+                Description = "",
+                Color = "",
+                Category = experimentalCat        
+            };
+            context.Tags.Add(predchazeniPodvodumTag);
+
+
+        }
+
+    }
+}
\ No newline at end of file
