using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Ensure to include this if you're using JsonProperty
using System.ComponentModel.DataAnnotations.Schema; // Include for Table attribute

namespace Parser_Xls_Integral
{
    [Table("vyhybka")]
    public class Vyhybka
    {
        [JsonProperty("or")]
        public string OR { get; set; }

        [JsonProperty("smu")]
        public string SMSU { get; set; }

        [JsonProperty("tu")]
        public string TU { get; set; }

        [JsonProperty("du")]
        public string DU { get; set; }

        [JsonProperty("nazov_du")]
        public string NazovDU { get; set; }

        [JsonProperty("kategoria_trate")]
        public string KategoriaTrate { get; set; }

        [JsonProperty("rozchod")]
        public string Rozchod { get; set; }

        [JsonProperty("oznacenie_rozchodu")]
        public string OznacenieRozchodu { get; set; }

        [JsonProperty("triediaci_znak")]
        public string TriediaciZnak { get; set; }

        [JsonProperty("popis_triediaceho_znaku")]
        public string PopisTriediacehoZnaku { get; set; }

        [JsonProperty("typ_prevadzky")]
        public string TypPrevadzky { get; set; }

        [JsonProperty("cislo_kolaje")]
        public string CisloKolaje { get; set; }

        [JsonProperty("index_kolaje")]
        public string IndexKolaje { get; set; }

        [JsonProperty("km_od")]
        public string KmOd { get; set; }

        [JsonProperty("km_do")]
        public string KmDo { get; set; }

        [JsonProperty("dlzka_m")]
        public string DlzkaM { get; set; }

        [JsonProperty("konstrukcia")]
        public string Konstrukcia { get; set; }

        [JsonProperty("tvar_zapisu")]
        public string TvarZapisu { get; set; }

        [JsonProperty("cislo")]
        public string Cislo { get; set; }

        [JsonProperty("index")]
        public string Index { get; set; }

        [JsonProperty("triediaci_znak2")]
        public string TriediaciZnak2 { get; set; }

        [JsonProperty("vetvenie_do_tu_du")]
        public string VetvenieDoTUDU { get; set; }

        [JsonProperty("presah")]
        public string Presah { get; set; }

        [JsonProperty("km_poloha")]
        public string KmPoloha { get; set; }

        [JsonProperty("stavebna_dlzka_m")]
        public string StavebnaDlzkaM { get; set; }

        [JsonProperty("technicke_miesto")]
        public string TechnickeMiesto { get; set; }

        [JsonProperty("kolaj_v_priamom_smer")]
        public string KolajVPriamomSmer { get; set; }

        [JsonProperty("vo_odbočnom_smer")]
        public string VOdbočnomSmer { get; set; }

        [JsonProperty("rad_vyhybky")]
        public string RadVyhybky { get; set; }

        [JsonProperty("rozchod_kolaje_priama")]
        public string RozchodKolajePriama { get; set; }

        [JsonProperty("rozchod_kolaje_odbočna")]
        public string RozchodKolajeOdbočna { get; set; }

        [JsonProperty("tvar_kolajnic")]
        public string TvarKolajnic { get; set; }

        [JsonProperty("podvaly_vo_vyhybke_druh")]
        public string PodvalyVoVyhybkeDruh { get; set; }

        [JsonProperty("typ_podvalov")]
        public string TypPodvalov { get; set; }

        [JsonProperty("typ_vyhybky")]
        public string TypVyhybky { get; set; }

        [JsonProperty("kombinacia")]
        public string Kombinacia { get; set; }

        [JsonProperty("zatriedenie_vyhybky")]
        public string ZatriedenieVyhybky { get; set; }

        [JsonProperty("dopravne_urcenie")]
        public string DopravneUrcenie { get; set; }

        [JsonProperty("datum_vlozenia")]
        public string DatumVlozenia { get; set; }

        [JsonProperty("stav_pri_vlozeni")]
        public string StavPriVlozeni { get; set; }

        [JsonProperty("umiestnenie_v_kolajisku")]
        public string UmiestnenieVKolajisku { get; set; }

        [JsonProperty("orientacia")]
        public string Orientacia { get; set; }

        [JsonProperty("sposob_zadania_odbočenia")]
        public string SposobZadaniaOdbočenia { get; set; }

        [JsonProperty("uhol_pomer_odbočenia")]
        public string UholPomerOdbočenia { get; set; }

        [JsonProperty("polomer")]
        public string Polomer { get; set; }

        [JsonProperty("polomer_po_transformacii_hm")]
        public string PolomerPoTransformaciiHM { get; set; }

        [JsonProperty("polomer_po_transformacii_os")]
        public string PolomerPoTransformaciiOS { get; set; }

        [JsonProperty("pocet_vyhybkovych_jednotiek")]
        public string PocetVyhybkovychJednotiek { get; set; }

        [JsonProperty("cislo_vzoroveho_listu")]
        public string CisloVzorovehoListu { get; set; }

        [JsonProperty("smer_odbočenia_vyhybky")]
        public string SmerOdbočeniaVyhybky { get; set; }

        [JsonProperty("smer_odbočenia_srdcovky")]
        public string SmerOdbočeniaSrdcovky { get; set; }

        [JsonProperty("poloha_vymennikov_jazykov")]
        public string PolohaVymennikovJazykov { get; set; }

        [JsonProperty("poloha_vymennikov_srdcovky")]
        public string PolohaVymennikovSrdcovky { get; set; }

        [JsonProperty("konstrukcia_srdcovky1")]
        public string KonstrukciaSrdcovky1 { get; set; }

        [JsonProperty("nadvyšenie_kridlovej_kolajnice1")]
        public string NadvyšenieKridlovejKolajnice1 { get; set; }

        [JsonProperty("sposob_nadvyšenia1")]
        public string SposobNadvyšenia1 { get; set; }

        [JsonProperty("konstrukcia_srdcovky2")]
        public string KonstrukciaSrdcovky2 { get; set; }

        [JsonProperty("nadvyšenie_kridlovej_kolajnice2")]
        public string NadvyšenieKridlovejKolajnice2 { get; set; }

        [JsonProperty("sposob_nadvyšenia2")]
        public string SposobNadvyšenia2 { get; set; }

        [JsonProperty("konstrukcia_jazykov")]
        public string KonstrukciaJazykov { get; set; }

        [JsonProperty("druh_zaveru")]
        public string DruhZaveru { get; set; }

        [JsonProperty("konstrukcia_pridrznice")]
        public string KonstrukciaPridrznice { get; set; }

        [JsonProperty("upevnenie_pridrznice")]
        public string UpevneniePridrznice { get; set; }

        [JsonProperty("prestavnik_jazykov")]
        public string PrestavnikJazykov { get; set; }

        [JsonProperty("upevnenie_prestavnika_jazykov")]
        public string UpevneniePrestavnikaJazykov { get; set; }

        [JsonProperty("prestavnik_srdcovky")]
        public string PrestavnikSrdcovky { get; set; }

        [JsonProperty("upevnenie_prestavnika_srdcovky")]
        public string UpevneniePrestavnikaSrdcovky { get; set; }

        [JsonProperty("uprava_klzných_stoliciek")]
        public string UpravaKlznýchStoliciek { get; set; }

        [JsonProperty("upevnenie_opornice")]
        public string UpevnenieOpornice { get; set; }

        [JsonProperty("zvlastne_vybavenie")]
        public string ZvlastneVybavenie { get; set; }

        [JsonProperty("kolajove_lozko")]
        public string KolajoveLozko { get; set; }

        [JsonProperty("rychlost_hm")]
        public string RychlostHM { get; set; }

        [JsonProperty("rychlost_os")]
        public string RychlostOS { get; set; }

        [JsonProperty("kolajovy_obvod")]
        public string KolajovyObvod { get; set; }

        [JsonProperty("pocet_izolovanych_stykov")]
        public string PocetIzolovanychStykov { get; set; }

        [JsonProperty("rok_vyroby")]
        public string RokVyroby { get; set; }

        [JsonProperty("rok_zvarenia")]
        public string RokZvarenia { get; set; }

        [JsonProperty("vyrobca_konstrukcie")]
        public string VyrobcaKonstrukcie { get; set; }

        [JsonProperty("mene_prísne_prevadzkové_hodnoty")]
        public string MenePrísnePrevadzkovéHodnoty { get; set; }

        [JsonProperty("min_priemer_kolesa_prechod")]
        public string MinPriemerKolesaPrechod { get; set; }

        [JsonProperty("hodnota_min_priemeru_kolesa_ri")]
        public string HodnotaMinPriemeruKolesaRI { get; set; }

        [JsonProperty("datum_poslednej_zmeny")]
        public string DatumPoslednejZmeny { get; set; }

        [JsonProperty("poznamka")]
        public string Poznamka { get; set; }
    }
}
