using MySqlX.XDevAPI.Relational;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Formats.Asn1.AsnWriter;

namespace Ropin.Inspection.Model.SearchModel.VMC
{
    public class VmcCameraSearch : BaseSearchModel
    {
        public string C_ID { get; set; }
        public string C_Name { get; set; }
        public string C_CameraNo { get; set; }
        public string C_CameraTempCode { get; set; }
        public string C_StoreCode { get; set; }
        public string C_OrgCode { get; set; }
        public string C_DevCode { get; set; }
        public string C_Type { get; set; }
        public string C_RunStatus { get; set; }
        public string C_Status { get; set; }
        public string VideoStartData { get; set; }
        public string VideoEndData { get; set; }
    }
    public class VmcCameraMigrateSearch : BaseSearchModel
    {
        public string C_CameraCode { get; set; }
        public string C_Name { get; set; }
    }
    public class VmcDevSearch : BaseSearchModel
    {
        public string C_Status { get; set; }
        public string C_CameraCode { get; set; }
        public string C_DevStoreCode { get; set; }
    }
    public class LiveFBSSearch
    {
        public string C_Serial { get; set; }
        public string C_CameraCode { get; set; }
        public bool Download { get; set; }=false;
        public int DownloadSpeed { get; set; } = 4;
        public string VideoStartData { get; set; }
        public string VideoEndData { get; set; }
        public string StreamId { get; set; }
    }

    public class LiveGBSPlayControl
    {
       public string StreamId { get; set; }//回放流ID
        public string Command { get; set; }//回放控制类型 允许值: play, pause, teardown, scale
        //command=play 时有效,表示从当前位置以当前播放速度跳转到指定range(单位s)的时间点播放;range=now 表示从当前位置开始播放,比如:暂停后恢复播放,则指定range=now
        public string Range { get; set; } = "now";
        //command=scale 时有效,倍数播放倍率,1=正常播放,大于0小于1为慢放,如:0.5=以0.5倍的速度慢放;大于1为快放,如:2=以2倍的速度快放,负数为倒放,参数意义相同
        public int Scale { get; set; } = 2;
    }
}