using MiniExcelLibs.Attributes; 
using System.ComponentModel.DataAnnotations; 
using System; 
using System.ComponentModel; 
using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockOrderDetail; 
 
///  
/// 出入库单据详情导出模型 
///  
public  class WmsInOutStockOrderDetailExportModel 
{ 
            /// 
        /// 单据编号
        /// 
        [ExcelColumn(Name = "单据编号", Width = 25)]
        public string OrderNo { get; set; }
        /// 
        /// 物料唯一码
        /// 
        [ExcelColumn(Name = "物料唯一码", Width = 25)]
        public string MaterialId { get; set; }
        /// 
        /// 单据类型(枚举值)
        /// 
        [ExcelColumn(Name = "单据类型(枚举值)", Width = 25)]
        public OrderTypeEnum OrderType { get; set; }
        /// 
        /// 物料件号
        /// 
        [ExcelColumn(Name = "物料件号", Width = 25)]
        public string MaterialNo { get; set; }
        /// 
        /// 物料名称
        /// 
        [ExcelColumn(Name = "物料名称", Width = 25)]
        public string MaterialName { get; set; }
        /// 
        /// 容器编号
        /// 
        [ExcelColumn(Name = "容器编号", Width = 25)]
        public string ContainerNo { get; set; }
        /// 
        /// 机型
        /// 
        [ExcelColumn(Name = "机型", Width = 25)]
        public string MaterialModel { get; set; }
        /// 
        /// 物料批次
        /// 
        [ExcelColumn(Name = "物料批次", Width = 25)]
        public string? MaterialBatch { get; set; }
        /// 
        /// 是否禁用
        /// 
        [ExcelColumn(Name = "是否禁用", Width = 25)]
        public bool? IsDisabled { get; set; }
        /// 
        /// 备注
        /// 
        [ExcelColumn(Name = "备注", Width = 25)]
        public string Remark { get; set; }
        /// 
        /// 排序
        /// 
        [ExcelColumn(Name = "排序", Width = 25)]
        public int Sort { get; set; }
 
 
    public Dictionary GetExportData() 
        { 
            var exportData = new Dictionary(); 
            foreach (var property in this.GetType().GetProperties()) 
            { 
                exportData.Add(property.Name, property.GetValue(this)); 
            } 
 
            return exportData; 
        } 
}