using Rozpisky.Models; using Rozpisky.ViewModels; namespace Rozpisky.Data; /// /// Ukázková data, aby byl po spuštění vidět styl i tok dat. Rozděleno na dvě části: /// = výchozí obsah sdílených číselníků (nasází se jen když /// vedle .exe ještě není ciselniky.json), a = demo zakázka /// (přílohy, revize) – čistě demo, přepíše se otevřením reálného projektu. /// public static class DemoData { /// Výchozí obsah číselníků pro úplně první spuštění (než vznikne ciselniky.json). public static void SeedCiselniky(Ciselniky c) { c.Organizace.Add(new Organizace { Nazev = "Správa železnic, s.o.", Adresa = "Dlážděná 1003/7, 110 00 Praha 1", Logo = "sprava_zeleznic.dxf" }); c.Organizace.Add(new Organizace { Nazev = "SŽ – Stavební správa západ", Adresa = "Sokolovská 1955/278, 190 00 Praha 9" }); c.Firmy.Add(new Firma { Nazev = "EXPROJEKT a.s.", Adresa = "Nekonečná 8, 182 00 Praha 8", Telefon = "+420 222 333 444", Email = "info@exprojekt.cz", Logo = "exprojekt.dxf" }); c.Firmy.Add(new Firma { Nazev = "SUDOP PRAHA a.s.", Adresa = "Olšanská 2643/1a, 130 80 Praha 3", Telefon = "+420 267 094 111", Email = "sudop@sudop.cz" }); c.Firmy.Add(new Firma { Nazev = "METROPROJEKT Praha a.s.", Adresa = "Argentinská 1621/36, 170 00 Praha 7", Telefon = "+420 296 154 111", Email = "info@metroprojekt.cz" }); foreach (var j in new[] { "Ing. Jan Novák", "Ing. Petr Svoboda", "Ing. Eva Dvořáková", "Ing. Pavel Černý" }) c.Jmena.Add(new Jmeno { Hodnota = j }); foreach (var v in new[] { "DOS", "DUR", "DSP", "PDPS", "DPS", "RDS" }) c.VerzeDokumentace.Add(new VerzeDokumentace { Hodnota = v }); c.Casti.Add(new Cast { Oznaceni = "D", Nazev = "Dokumentace objektů" }); c.Casti.Add(new Cast { Oznaceni = "E", Nazev = "Dokladová část" }); SeedKraje(c); } /// Výchozí seznam krajů ČR (14 krajů). Nasází se jen do prázdného číselníku – volá ho /// jak první spuštění (), tak backfill starších ciselniky.json, /// které kraje ještě neměly. public static void SeedKraje(Ciselniky c) { if (c.Kraje.Count > 0) return; foreach (var k in new[] { "Hlavní město Praha", "Středočeský", "Jihočeský", "Plzeňský", "Karlovarský", "Ústecký", "Liberecký", "Královéhradecký", "Pardubický", "Kraj Vysočina", "Jihomoravský", "Olomoucký", "Zlínský", "Moravskoslezský", }) c.Kraje.Add(new Kraj { Nazev = k }); } /// Demo zakázka (údaje projektu + pár příloh + revize). Reference do číselníků se /// dohledávají podle hodnoty (FirstOrDefault), ať to funguje i s číselníky načtenými ze souboru. public static void SeedProjekt(MainViewModel vm) { var c = vm.Ciselniky; vm.Projekt.Stavba = "Modernizace traťového úseku Praha – Beroun"; vm.Projekt.HIP = "Ing. Jan Novák"; vm.Projekt.Skod = "S123456789X"; vm.Projekt.CisloZakazky = "2026-014"; vm.SelectedInvestor = c.Organizace.FirstOrDefault(); vm.SelectedSlozkaSZ = c.Organizace.Skip(1).FirstOrDefault() ?? c.Organizace.FirstOrDefault(); vm.SelectedStupen = c.VerzeDokumentace.FirstOrDefault(v => v.Hodnota == "DPS") ?? c.VerzeDokumentace.FirstOrDefault(); vm.SelectedZhotovitelSOD = c.Firmy.FirstOrDefault(); vm.Projekt.SmluvniDatumZpracovani = "2026-03-15"; // Loga financujících institucí (DXF ve složce loga\ vedle .exe). vm.Projekt.Logo1Soubor = "eu_op_doprava.dxf"; // dotační (vlevo) vm.Projekt.Logo2Soubor = "md_sfdi.dxf"; // státní (vpravo) // Demo: navázat loga na vybranou organizaci/firmu, ať se v náhledu ukážou i loga 3/4/5. // (Stávající ciselniky.json vzniklý před polem Logo ho má prázdný – doplníme, pokud chybí.) if (vm.SelectedInvestor is { } inv && string.IsNullOrWhiteSpace(inv.Logo)) inv.Logo = "sprava_zeleznic.dxf"; if (vm.SelectedZhotovitelSOD is { } zh && string.IsNullOrWhiteSpace(zh.Logo)) zh.Logo = "exprojekt.dxf"; // Zhotovitel objektu = vybraná firma (aby se logo 5 spárovalo dle Priloha.ZhotovitelCasti). string zhotovitelCasti = vm.SelectedZhotovitelSOD?.Nazev ?? "EXPROJEKT a.s."; vm.Prilohy.Add(new Priloha { OznaceniCasti = "D", OznaceniDilciCasti = "D110", NazevObjektu = "Železniční svršek", CisloObjektu = "SO131.13.12.01", TypPrilohy = "D.1", DilciPriloha = "1", PoradiPrilohy = "101", NazevPrilohy = "Situace", Zkratka = "SIT", Vypracoval = "Ing. Petr Svoboda", OdpovednyProjektant = "Ing. Jan Novák", R1 = "V00", KontrolovalR1 = "Ing. Pavel Černý", ZhotovitelCasti = zhotovitelCasti, Meritko = "1:1000", Formaty = "4", Kraj = "Středočeský", KatastralniUzemi = "viz textová část", Ltscale = "1.0", Ctb = "monochrome.ctb", }); vm.Prilohy.Add(new Priloha { OznaceniCasti = "D", OznaceniDilciCasti = "D110", NazevObjektu = "Most v km 12,345", CisloObjektu = "SO201", TypPrilohy = "D.1", DilciPriloha = "1", PoradiPrilohy = "201", NazevPrilohy = "Podélný řez", Zkratka = "PR", Vypracoval = "Ing. Eva Dvořáková", OdpovednyProjektant = "Ing. Jan Novák", R1 = "V00", KontrolovalR1 = "Ing. Pavel Černý", ZhotovitelCasti = zhotovitelCasti, Meritko = "1:100", Formaty = "2", Kraj = "Středočeský", KatastralniUzemi = "viz textová část", Ltscale = "1.0", Ctb = "monochrome.ctb", }); vm.Revize.Add(new Revize { Cislo = "V00", Datum = "-", Popis = "Vyjádření, stanoviska, připomínky" }); vm.Revize.Add(new Revize { Cislo = "V01", Datum = "2026-03-15", Popis = "První vydání" }); } }