using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Backend.Models
{
    public class WeatherAPIJob
    {

    }
    public class Publicclass
    {
        public string Success { get; set; }
        public Result Result { get; set; }
    }
    public class Result
    {
        public string Resource_id { get; set; }
        public List<FieldsItem> Fields { get; set; }
    }
    public class FieldsItem
    {
        public string Id { get; set; }
        public string Type { get; set; }
    }

    //臺灣各縣市鄉鎮未來3天(72小時)逐3小時天氣預報
    public class Root: Publicclass 
    {
        public Records1 Records { get; set; }
    }

    #region 臺灣各縣市鄉鎮未來3天(72小時)逐3小時天氣預報 
    public class Records1 // 臺灣各縣市鄉鎮未來3天(72小時)逐3小時天氣預報
    {
        //public string DatasetDescription { get; set; }
        public List<LocationsItem> Locations { get; set; }
    }
    public class LocationsItem
    {
        public string DatasetDescription { get; set; }
        public string LocationsName { get; set; }
        public string Dataid { get; set; }
        public List<LocationDetail> Location { get; set; }
    }
    public class LocationDetail
    {
        public string LocationName { get; set; }
        public string Geocode { get; set; }
        public string Lat { get; set; }
        public string Lon { get; set; }
        public List<WeatherElementItem> WeatherElement { get; set; }
    }
    public class WeatherElementItem
    { 
        public string ElementName { get; set; }
        public string Description { get; set; }
        public List<TimeItem> Time { get; set; }

    }
    public class TimeItem
    {
        //public string StartTime;
        public string StartTime { get; set; }
        //public string EndTime;
        public string EndTime { get; set; }
        public string DataTime { get; set; }
        public List<ElementValueItem> ElementValue { get; set; }
    }
    public class ElementValueItem
    {
        public string Value { get; set; }
        public string Measures { get; set; }
    }
    #endregion 

    public class ShowWeather
    {
        public int id { get; set; }
        public string weather_type { get; set; }
        public string get_value { get; set; }
    }

    #region alert
    public class alert
    {
        public string identifier { get; set; }
        public string sender { get; set; }
        public string sent { get; set; }
        public string status { get; set; }
        public string msgtype { get; set; }
        public string scope { get; set; }
        public string references { get; set; }
        public info info { get; set; }
    }
    public class info
    {
        public string language { get; set; }
        public string category { get; set; }
        public string Event { get; set; }
        public string urgency { get; set; }
        public string severity { get; set; }
        public string certainty { get; set; }
        public values eventcode { get; set; }
        public string effective { get; set; }
        public string onset { get; set; }
        public string expires { get; set; }
        public string senderName { get; set; }
        public string headline { get; set; }
        public string description { get; set; }
        public string instruction { get; set; }
        public string web { get; set; }
        public values parameter { get; set; }
        public List<areas> area { get; set; }

    }
    public class values
    {
        public string valuename { get; set; }
        public string value { get; set; }
    }
    public class areas
    {
        public string areaDesc { get; set; }
        public values geocode { get; set; }
    }
    #endregion

    #region 顯著有感地震報告資料-顯著有感地震報告

    public class Root2 : Publicclass
    {
        public Records2 Records { get; set; }
    }
    public class Records2
    {
        public string DatasetDescription { get; set; }
        public List<Earthquake> Earthquake { get; set; }

    }
    public class Earthquake
    {
        public int EarthquakeNo { get; set; }
        public string ReportType { get; set; }
        public string ReportColor { get; set; }
        public string ReportContent { get; set; }
        public string ReportImageURI { get; set; }
        public string ReportRemark { get; set; }
        public string Web { get; set; }
        public string ShakemapImageURI { get; set; }
        public EarthquakeInfo EarthquakeInfo { get; set; }
        public Intensity Intensity { get; set; }
    }
    public class EarthquakeInfo
    {
        public string OriginTime { get; set; }
        public string Source { get; set; }
        public Depth Depth { get; set; }
        public EpiCenter EpiCenter { get; set; }
        public Magnitude Magnitude { get; set; }
        
    }
    public class Depth
    {
        public string Value { get; set; }
        public string Unit { get; set; }
    }
    public class EpiCenter
    {
        public string Location { get; set; }
        public Depth EpiCenterLat { get; set; }
        public Depth EpiCenterLon { get; set; }
    }
    public class Magnitude
    {
        public string MagnitudeType { get; set; }
        public double MagnitudeValue { get; set; }
    }
    public class Intensity
    {
        public List<ShakingArea> ShakingArea { get; set; }
    }
    public class ShakingArea
    {
        public string AreaDesc { get; set; }
        public string AreaName { get; set; }
        public string InfoStatus { get; set; }
        public Depth AreaIntensity { get; set; }

    }
    #endregion

    #region 降雨XML
    public partial class RainAPI
    {
        public Alert Alert { get; set; }
    }

    public partial class RainAPIInfoList
    {
        public Alert2 Alert { get; set; }
    }

    public partial class Alert
    {
        public string Xmlns { get; set; }
        public string Identifier { get; set; }
        public string Sender { get; set; }
        public DateTimeOffset Sent { get; set; }
        public string Status { get; set; }
        public string MsgType { get; set; }
        public string Scope { get; set; }
        public string References { get; set; }
        public Info Info { get; set; }
    }
    public partial class Alert2
    {
        public string Xmlns { get; set; }
        public string Identifier { get; set; }
        public string Sender { get; set; }
        public DateTimeOffset Sent { get; set; }
        public string Status { get; set; }
        public string MsgType { get; set; }
        public string Scope { get; set; }
        public string References { get; set; }
        public List<Info> Info { get; set; }
    }

    public partial class Info
    {
        public string Language { get; set; }
        public string Category { get; set; }
        public string Event { get; set; }
        public string Urgency { get; set; }
        public string Severity { get; set; }
        public string Certainty { get; set; }
        public EventCode EventCode { get; set; }
        public DateTimeOffset Effective { get; set; }
        public DateTimeOffset Onset { get; set; }
        public DateTimeOffset Expires { get; set; }
        public string SenderName { get; set; }
        public string Headline { get; set; }
        public string Description { get; set; }
        public string Instruction { get; set; }
        public string Web { get; set; }
        //public EventCode Parameter { get; set; }
        public List<Area> Area { get; set; }
    }

    public partial class Area
    {
        public string AreaDesc { get; set; }
        public EventCode Geocode { get; set; }
    }

    public partial class EventCode
    {
        public string ValueName { get; set; }
        public string Value { get; set; }
    }





    #endregion






}