using JiShe.CollectBus.Common.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JiShe.CollectBus.IotSystems.Ammeters
{
    /// <summary>
    /// 电表自动阀控制设置实体
    /// </summary>
    public class AmmeterAutoValveControlSetting: DeviceCacheBasicModel
    {
        public int ID { get; set; }

        /// <summary>
        /// 定时阀控名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 是否禁止: 1 禁止， 0 启用，
        /// </summary>
        public int IsForbid { get; set; }

        /// <summary>
        /// 阀控命令：on 合闸(通电)， off 断闸(断电)     
        /// </summary>
        public string TripType { get; set; }

        /// <summary>
        /// 执行周期：Once 一次、EachDay 每日、EachWeek 每周、EachMonth 每月、
        /// </summary>
        public string LoopType { get; set; }

        /// <summary>
        /// （专属字段）执行一次时，指定yyyy-MM-dd 00:00:00 (只用年月日)
        /// </summary>
        public DateTime? OnceWithDate { get; set; }

        /// <summary>
        /// （专属字段）每日执行时排除(多个用英文逗号分隔)，如："周六,周日" 
        /// </summary>
        public string EachDayWithout { get; set; }

        /// <summary>
        /// （专属字段）每周执行时运行(多个用英文逗号分隔)，如："周一,周二,周日"
        /// </summary>
        public string EachWeekWith { get; set; }

        /// <summary>
        /// （专属字段）每月执行时运行(多个用英文逗号分隔)，如："1,2,3,5" 
        /// </summary>
        public string EachMonthWith { get; set; }

        /// <summary>
        /// 阀控执行时分：HH:mm:00   
        /// </summary>
        public string TripTime { get; set; }

        /// <summary>
        /// 项目ID
        /// </summary>
        public int ProjectID { get; set; }

        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime AddDate { get; set; }

        /// <summary>
        /// 删除改成-1，
        /// </summary>
        public int State { get; set; }

        /// <summary>
        /// 实际执行时间
        /// </summary>
        public DateTime? WorkTime { get; set; }

        /// <summary>
        /// 创建人ID
        /// </summary>
        public int CreateUserID { get; set; }

        /// <summary>
        /// 采集编号
        /// </summary>
        public string GatherCode { get; set; }
         
        /// <summary>
        /// 集中器地址
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// 集中器区域代码
        /// </summary>
        public string AreaCode { get; set; }

        /// <summary>
        /// 电表通信地址
        /// </summary>
        public string AmmerterAddress { get; set; }
    }
}
