namespace XHWK.Model
{
    /// <summary>
    /// 视频模型
    /// </summary>
    public class ModelVideo
    {
        private string _videoPath;
        private string _thumbnailPath;
        private EnumVideoType _videoType;
        private EnumWkVidetype _wkType;
        private string _rsTime;
        private string _videoSize;
        private long _videoSizebyte;
        private bool _isUpload;
        private string _fileGuid; //= System.Guid.NewGuid().ToString()
        private string _fileMd5;
        private string _savefolder;
        private int _block;
        private int _uploaded;
        private long _sliceLen;

        /// <summary>
        /// 视频路径
        /// </summary>
        public string VideoPath { get => _videoPath; set => _videoPath = value; }
        /// <summary>
        /// 缩略图路径
        /// </summary>
        public string ThumbnailPath { get => _thumbnailPath; set => _thumbnailPath = value; }

        /// <summary>
        /// 视频类型
        /// </summary>
        public EnumVideoType VideoType { get => _videoType; set => _videoType = value; }

        /// <summary>
        /// 微课类型
        /// </summary>
        public EnumWkVidetype WkType { get => _wkType; set => _wkType = value; }

        /// <summary>
        /// 录制时间
        /// </summary>
        public string RSTime { get => _rsTime; set => _rsTime = value; }

        /// <summary>
        /// 视频大小MB
        /// </summary>
        public string VideoSize { get => _videoSize; set => _videoSize = value; }
        /// <summary>
        /// 视频大小字节
        /// </summary>
        public long VideoSizebyte { get => _videoSizebyte; set => _videoSizebyte = value; }

        /// <summary>
        /// 是否已上传
        /// </summary>
        public bool IsUpload { get => _isUpload; set => _isUpload = value; }

        /// <summary>
        /// 文件唯一标示
        /// </summary>
        public string FileGuid { get => _fileGuid; set => _fileGuid = value; }

        /// <summary>
        /// 文件MD5
        /// </summary>
        public string FileMD5 { get => _fileMd5; set => _fileMd5 = value; }

        /// <summary>
        /// 文件保存地址 学校id/resource
        /// </summary>
        public string Savefolder { get => _savefolder; set => _savefolder = value; }

        /// <summary>
        /// 分块 每块最大5M
        /// </summary>
        public int Block { get => _block; set => _block = value; }

        /// <summary>
        /// 当前已上传到第几块
        /// </summary>
        public int Uploaded { get => _uploaded; set => _uploaded = value; }

        /// <summary>
        /// 视频每片长度
        /// </summary>
        public long SliceLen { get => _sliceLen; set => _sliceLen = value; }
    }

    /// <summary>
    /// 视频格式类型
    /// </summary>
    public enum EnumVideoType
    {
        Mp4 = 1,
        Flv = 2,
        Avi = 3
    }

    /// <summary>
    /// 录制视频类型
    /// </summary>
    public enum EnumWkVidetype
    {
        /// <summary>
        /// 录屏
        /// </summary>
        RecordingScreen = 1,

        /// <summary>
        /// 录课
        /// </summary>
        RecordingLessons = 2
    }

}
