using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Myshipping.Application.Service.BookingOrder.Dto
{

    public class GoodsStatusDtoList
    {

        public long? BookingId { get; set; }
        public List<GoodsStatusDto> item { get; set; }
    }


    public class GoodsStatusDto
    {



        /// <summary>
        /// 货物状态配置ID 雪花id
        /// </summary>
        public long? ConfigId { get; set; }

        
        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? FinishTime { get; set; }
        /// <summary>
        /// 完成人
        /// </summary>
        public string FinishUser { get; set; }
        /// <summary>
        /// 完成人ID
        /// </summary>
        public long? FinishUserId { get; set; }
        /// <summary>
        /// 是否公开
        /// </summary>
        public bool IsPublic { get; set; }
        /// <summary>
        /// 附加数据
        /// </summary>
        public string ExtData { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
    }


    public class GoodsStatusQuery
    {

      

        /// <summary>
        /// 货物状态配置ID 雪花id
        /// </summary>
        public long? ConfigId { get; set; }
        /// <summary>
        /// 状态名称
        /// </summary>
        public string StatusName { get; set; }
        /// <summary>
        /// 系统编码
        /// </summary>
        public string SystemCode { get; set; }

        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? FinishTime { get; set; }
        /// <summary>
        /// 完成人
        /// </summary>
        public string FinishUser { get; set; }
        /// <summary>
        /// 完成人ID
        /// </summary>
        public long? FinishUserId { get; set; }
        /// <summary>
        /// 是否公开
        /// </summary>
        public bool IsPublic { get; set; }
        /// <summary>
        /// 附加数据
        /// </summary>
        public string ExtData { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }


        /// <summary>
        /// 排序
        /// </summary>
        public long? Sort { get; set; }
    }



    public class GoodsStatusList
    {


        public long? ConfigId { get; set; }
        /// <summary>
        /// 状态名称
        /// </summary>
        public string StatusName { get; set; }
        /// <summary>
        /// 系统编码
        /// </summary>
        public string SystemCode { get; set; }

        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? FinishTime { get; set; }
       
      
        /// <summary>
        /// 附加数据
        /// </summary>
        public string ExtData { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// 排序
        /// </summary>
        public long? Sort { get; set; }

        /// <summary>
        /// 是否最新记录
        /// </summary>
        public bool IsLast { get; set; } = false;
    }
    /// <summary>
    /// 设置、取消货物状态dto
    /// </summary>
    public class GoodsStatusSetDto
    {
        /// <summary>
        /// 订舱ID
        /// </summary>
        public long? BookingId { get; set; }

        /// <summary>
        /// 货物状态配置ID
        /// </summary>
        public long? GoodsStatusConfigId { get; set; }

        /// <summary>
        /// 是否为取消状态
        /// </summary>
        public bool IsCancel { get; set; } = false;

        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? FinishTime { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

    }
}