using Newtonsoft.Json;
using System;
using System.ComponentModel.DataAnnotations.Schema;

namespace Parser_Xls_Integral
{
    // Class for Prehlad smerovych pomerov
    [Table("prehlad_smerovych_pomerov")]
    public class SmerovePomery
    {
        [JsonProperty("or")]
        public string OR { get; set; }

        [JsonProperty("smsu")]
        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("triediaci_znak")]
        public string TriediaciZnak { get; set; }

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

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

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

        // Neúsekové informácie koľaje
        [JsonProperty("km_od_neusek")]
        public string KmOdNeusek { get; set; }

        [JsonProperty("km_do_neusek")]
        public string KmDoNeusek { get; set; }

        [JsonProperty("dlzka_neusek_m")]
        public string DlzkaNeusekM { get; set; }

        // Smerový pomer
        [JsonProperty("km_od_smerovy_pomer")]
        public string KmOdSmerovyPomer { get; set; }

        [JsonProperty("km_do_smerovy_pomer")]
        public string KmDoSmerovyPomer { get; set; }

        [JsonProperty("dlzka_smerovy_pomer_m")]
        public string DlzkaSmerovyPomerM { get; set; }

        [JsonProperty("abnormalita_m")]
        public string AbnormalitaM { get; set; }

        [JsonProperty("typ")]
        public string Typ { get; set; }

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

        // Oblúk
        [JsonProperty("km_od_obluk")]
        public string KmOdObluk { get; set; }

        [JsonProperty("km_do_obluk")]
        public string KmDoObluk { get; set; }

        [JsonProperty("dlzka_do_m_obluk")]
        public string DlzkaDoMObluk { get; set; }

        [JsonProperty("smer_obluka")]
        public string SmerObluka { get; set; }

        [JsonProperty("polomer_m")]
        public string PolomerM { get; set; }

        [JsonProperty("prevysenie_mm")]
        public string PrevysenieMM { get; set; }

        [JsonProperty("rozsirenie_mm")]
        public string RozsirenieMM { get; set; }

        [JsonProperty("projektovana_rychlost_kmh")]
        public string ProjektovanaRychlostKmh { get; set; }

        // Kružnicová časť
        [JsonProperty("km_od_kruz")]
        public string KmOdKruz { get; set; }

        [JsonProperty("km_do_kruz")]
        public string KmDoKruz { get; set; }

        [JsonProperty("dlzka_do_kruz_m")]
        public string DlzkaDoKruzM { get; set; }

        // Prechodnica 1
        [JsonProperty("km_od_prechodnica_1")]
        public string KmOdPrechodnica1 { get; set; }

        [JsonProperty("km_do_prechodnica_1")]
        public string KmDoPrechodnica1 { get; set; }

        [JsonProperty("dlzka_prechodnica_1_m")]
        public string DlzkaPrechodnica1M { get; set; }

        // Prechodnica 2
        [JsonProperty("km_od_prechodnica_2")]
        public string KmOdPrechodnica2 { get; set; }

        [JsonProperty("km_do_prechodnica_2")]
        public string KmDoPrechodnica2 { get; set; }

        [JsonProperty("dlzka_prechodnica_2_m")]
        public string DlzkaPrechodnica2M { get; set; }

        // Vzostupnica 1
        [JsonProperty("km_od_vzostupnica_1")]
        public string KmOdVzostupnica1 { get; set; }

        [JsonProperty("km_do_vzostupnica_1")]
        public string KmDoVzostupnica1 { get; set; }

        [JsonProperty("dlzka_vzostupnica_1_m")]
        public string DlzkaVzostupnica1M { get; set; }

        // Vzostupnica 2
        [JsonProperty("km_od_vzostupnica_2")]
        public string KmOdVzostupnica2 { get; set; }

        [JsonProperty("km_do_vzostupnica_2")]
        public string KmDoVzostupnica2 { get; set; }

        [JsonProperty("dlzka_vzostupnica_2_m")]
        public string DlzkaVzostupnica2M { get; set; }

        // Prevýšenie
        [JsonProperty("sucinitele_sklonu_v")]
        public string SuciniteleSklonuV { get; set; }

        [JsonProperty("hodnota_sucinitele_sklonu")]
        public string HodnotaSuciniteleSklonu { get; set; }

        [JsonProperty("km_od_prevysenie")]
        public string KmOdPrevysenie { get; set; }

        [JsonProperty("km_do_prevysenie")]
        public string KmDoPrevysenie { get; set; }

        [JsonProperty("dlzka_prevysenie_m")]
        public string DlzkaPrevysenieM { get; set; }

        [JsonProperty("tvar_prevysenie")]
        public string TvarPrevysenie { get; set; }

        [JsonProperty("sucinitele_sklonu_2_v")]
        public string SuciniteleSklonu2V { get; set; }

        [JsonProperty("hodnota_sucinitele_sklonu_2")]
        public string HodnotaSuciniteleSklonu2 { get; set; }

        [JsonProperty("typ_prevysenia")]
        public string TypPrevysenia { get; set; }

        [JsonProperty("nedostatok_i_mm")]
        public string NedostatokIMm { get; set; }

        [JsonProperty("prebytok_e_mm")]
        public string PrebytokEMm { get; set; }

        [JsonProperty("datum_poslednej_zmeny_obluk")]
        public string DatumPoslednejZmenyObluk { get; set; }

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