using System.Text.Json.Serialization;

namespace economy.Models.Price.Domestic.Gold
{
    // 검색결과 변수
    public class Response
    {
        [JsonPropertyName("header")]
        public Header Header { get; set; }

        [JsonPropertyName("body")]
        public Body Body { get; set; }
    }

    public class Header
    {
        [JsonPropertyName("resultCode")]
        public string ResultCode { get; set; }

        [JsonPropertyName("resultMsg")]
        public string ResultMsg { get; set; }
    }

    public class Body
    {
        [JsonPropertyName("numOfRows")]
        public int NumberOfRows { get; set; }

        [JsonPropertyName("pageNo")]
        public int PageNo { get; set; }

        [JsonPropertyName("totalCount")]
        public int TotalCount { get; set; }

        [JsonPropertyName("items")]
        public Items Items { get; set; }
    }

    public class Items
    {
        [JsonPropertyName("item")]
        public List<Item> ItemList { get; set; }
    }

    public class Item
    {
        public int Num { get; set; }

        [JsonPropertyName("basDt")]
        public string BasDt { get; set; } // 기준일자

        [JsonPropertyName("srtnCd")]
        public string SrtnCd { get; set; } // 단축코드

        [JsonPropertyName("isinCd")]
        public string IsinCd { get; set; } // ISIN코드

        [JsonPropertyName("itmsNm")]
        public string ItmsNm { get; set; } // 종목명

        [JsonPropertyName("clpr")]
        public string Clpr { get; set; } // 종가

        [JsonPropertyName("vs")]
        public string Vs { get; set; } // 대비

        [JsonPropertyName("fltRt")]
        public string FltRt { get; set; } // 등락률

        [JsonPropertyName("mkp")]
        public string Mkp { get; set; } // 시가

        [JsonPropertyName("hipr")]
        public string Hipr { get; set; } // 고가

        [JsonPropertyName("lopr")]
        public string Lopr { get; set; } // 저가

        [JsonPropertyName("trqu")]
        public string Trqu { get; set; } // 거래량

        [JsonPropertyName("trPrc")]
        public string TrPrc { get; set; } // 거래대금
    }
}
