using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Txgy.RBS.Framework.Models
{
    public class ApmsModel
    {
        private string station1;
        private List<TTime> ttime1;
        private string push2wx1;
        private string savepath1;
        private float xmin1;
        private float xmax1;
        private float ymin1;
        private float ymax1;
        private float zref1;
        private float zmin1;
        private float zmax1;
        private float minstep1;
        private List<StationChannelsModel> channels1;

        [JsonProperty("station")]
        public string station { get => station1; set => station1 = value; }//根据station表生成
        [JsonProperty("ttime")]
        public List<TTime> ttime { get => ttime1; set => ttime1 = value; }//客户端上传
        [JsonProperty("Main.log_level")]
        public string log_level { get; set; }
        [JsonProperty("Main.slice_seconds")]
        public int slice_seconds { get; set; }
        [JsonProperty("Main.overlap_seconds")]
        public int overlap_seconds { get; set; }
        [JsonProperty("Main.is_mag")]
        public string is_mag { get; set; }
        [JsonProperty("Main.is_write_slice")]   //Apms配置：存储结果
        public string is_write_slice { get; set; }
        [JsonProperty("Main.lon")]
        public double lon { get; set; }
        [JsonProperty("Main.lat")]
        public double lat { get; set; }
        [JsonProperty("Main.height")]
        public double height { get; set; }
        [JsonProperty("Main.savepath")]   //Apms配置：处理结果存储目录，由基础路径+工程名称+"result"拼接
        public string savepath { get => savepath1; set => savepath1 = value; }
        [JsonProperty("Main.push2wx")]   //Apms配置：微信推送，暂时不开放
        public string push2wx { get => push2wx1; set => push2wx1 = value; }
        [JsonProperty("Main.push_url")]
        public string push_url { get; set; }
        [JsonProperty("Main.push_mag")]     //Apms配置：推送阈值
        public double push_mag { get; set; }
        [JsonProperty("Main.message_id")]
        public int message_id { get; set; }
        [JsonProperty("Main.company_id")]
        public int company_id { get; set; }
        [JsonProperty("Main.area_id")]
        public int area_id { get; set; }
        [JsonProperty("Main.content")]
        public string content { get; set; }
        [JsonProperty("Main.push_key")]
        public string push_key { get; set; }
        [JsonProperty("RServer.host")]
        public string host { get; set; }
        public List<StationChannelsModel> channels { get => channels1; set => channels1 = value; }

        [JsonProperty("Locate.log_level")]
        public string llog_level { get; set; }
        [JsonProperty("Locate.work_path")]
        public string work_path { get; set; }
        [JsonProperty("Locate.xmin")]
        public float xmin { get => xmin1; set => xmin1 = value; }
        [JsonProperty("Locate.xmax")]
        public float xmax { get => xmax1; set => xmax1 = value; }
        [JsonProperty("Locate.ymin")]
        public float ymin { get => ymin1; set => ymin1 = value; }
        [JsonProperty("Locate.ymax")]
        public float ymax { get => ymax1; set => ymax1 = value; }
        [JsonProperty("Locate.zref")]
        public float zref { get => zref1; set => zref1 = value; }
        [JsonProperty("Locate.zmin")]
        public float zmin { get => zmin1; set => zmin1 = value; }
        [JsonProperty("Locate.zmax")]
        public float zmax { get => zmax1; set => zmax1 = value; }
        [JsonProperty("Locate.minstep")]
        public float minstep { get => minstep1; set => minstep1 = value; }
        [JsonProperty("Locate.method")]
        public string method { get; set; }
        [JsonProperty("Locate.clusted_otime")]
        public double clusted_otime { get; set; }

    }

    public class TTime
    {
        private string ttime2d1;

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

        //   [JsonProperty("ttime")]
        //  public string ttime { get; set; }

        [JsonProperty("ttime2d")]
        public string ttime2d
        {
            get => ttime2d1;
            set => ttime2d1 = value;
        }
    }
    public class StationChannelsModel
    {
        public string network { get; set; }

        public string location { get; set; }

        public string channels { get; set; }

        public string station { get; set; }
    }
}
