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

namespace EFB.Models.JSON
{
    public class ChartResponse
    {
        [JsonProperty("status")]
        public string Status { get; set; }
        [JsonProperty("charts")]
        public ChartList Response { get; set; }
    }

    public class ChartList
    {
        [JsonProperty("0")]
        public ChartsCollection General { get; set; }
        [JsonProperty("1")]
        public ChartsCollection TextualData { get; set; }
        [JsonProperty("2")]
        public ChartsCollection GroundLayout { get; set; }
        [JsonProperty("6")]
        public ChartsCollection SID { get; set; }
        [JsonProperty("7")]
        public ChartsCollection STAR { get; set; }
        [JsonProperty("8")]
        public ChartsCollection Approach { get; set; }
        [JsonProperty("9")]
        public ChartsCollection Transition { get; set; }
        [JsonProperty("99")]
        public ChartsCollection PilotBriefing { get; set; }
    }

    public class ChartsCollection
    {
        [JsonProperty("group_name")]
        public string Category { get; set; }
        [JsonProperty("charts")]
        public Chart[] Charts { get; set; }
    }

    public class Chart
    {
        [JsonProperty("name")]
        public string Name { get; set; }
        [JsonProperty("identifier")]
        public string Identifier { get; set; }
        [JsonProperty("type_code")]
        public int TypeCode { get; set; }
        [JsonProperty("type")]
        public string Type { get; set; }
        [JsonProperty("runway")]
        public string Runway { get; set; }
        [JsonProperty("pseudo_url")]
        public string PseudoURL { get; set; }
        [JsonProperty("url")]
        public string URL { get; set; }
    }
    
    
}