using DocumentFormat.OpenXml.EMMA;
using SixLabors.ImageSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OpenAuth.App.ServiceApp.Algo.Response
{
    public class DaHuaAiResp
    {
        public string alarmAction { get; set; }
        public string alarmName { get; set; }
        public double alarmTime { get; set; }
        public string alarmType { get; set; }
        public string algoPkgId { get; set; }
        public int algorithmType { get; set; }
        public long capTime { get; set; }
        public string channelCode { get; set; }
        public string channelId { get; set; }
        public string classType { get; set; }
        public int dataSource { get; set; }
        public string deviceCode { get; set; }
        public string deviceId { get; set; }
        public string @event { get; set; }
        public string eventId { get; set; }
        public string extRecordId { get; set; }
        public ImageInfo imageInfo { get; set; }
        public List<ImageInfoList> imageInfoList { get; set; }
        public List<ImgList> imgList { get; set; }
        public Info info { get; set; }
        public string paasId { get; set; }
        public string recordId { get; set; }
        public int ruleId { get; set; }
        public string saasExtParam { get; set; }
        public string saasTaskId { get; set; }
        public string sourceId { get; set; }
        public int taskId { get; set; }
        public int taskSource { get; set; }
        public long taskTime { get; set; }
        public double traceServiceInputTime { get; set; }
        public string uid { get; set; }
        public string userChannelCode { get; set; }
        public string userDeviceCode { get; set; }
    }
    public class ImageInfo
    {
        public int imgHeight { get; set; }
        public int imgSize { get; set; }
        public int imgWidth { get; set; }
    }

    public class ImageInfoList
    {
        public double absAltitude { get; set; }
        public int focalLength { get; set; }
        public int imgHeight { get; set; }
        public int imgSize { get; set; }
        public int imgType { get; set; }
        public string imgUrl { get; set; }
        public int imgWidth { get; set; }
        public double latitude { get; set; }
        public double longitude { get; set; }
        public double pitch { get; set; }
        public int roll { get; set; }
        public double yaw { get; set; }
        public int zoom { get; set; }
    }

    public class ImgList
    {
        public double capTime { get; set; }
        public int imgHeight { get; set; }
        public int imgSize { get; set; }
        public int imgType { get; set; }
        public string imgUrl { get; set; }
        public int imgWidth { get; set; }
        public List<ObjectRect> objectRect { get; set; }
    }

    public class ObjectRect
    {
        public int objBottom { get; set; }
        public int objLeft { get; set; }
        public int objRight { get; set; }
        public int objTop { get; set; }
    }

    public class Info
    {
        public List<List<int>> detectRegion { get; set; }
        public string name { get; set; }
        public List<ObjectGPS> objectGPS { get; set; }
        public string plateNum { get; set; }
    }

    public class ObjectGPS
    {
        public double latitude { get; set; }
        public double longitude { get; set; }
    }
}
