using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace WCS.Model.ApiModel.OutStore
{
    public class OutOrderModel : INotifyPropertyChanged
    {
        public int Id { get; set; }

        public string OrderNumber { get; set; }
        public OutOrderStatus OrderStatus { get; set; }

        public OutOrderExeStatus OutOrderExeStatus { get; set; }

        public string OrderSource { get; set; }

        public string OrderType { get; set; }

        public SyncTypeEnum SyncType { get; set; }

        public DateTime CreateTime { get; set; }

        public string ShelfTypeName { get; set; }

        public string CreateUser { get; set; }
        public bool IsSelected
        {
            get { return isSelected; }
            set
            {
                isSelected = value;
                OnPropertyChanged(nameof(IsSelected));
            }
        }
        public bool isSelected;
        public int RowNumber { get; set; }
        public bool IsOuting { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }

    public enum OutOrderStatus
    {
        未发料 = 0,
        部分发料 = 1,
        全部发料 = 2
    }

    public enum OutOrderExeStatus
    {
        待发料 = 0,
        开始发料 = 1,
        暂停发料 = 2,
        发料完成 = 3
    }

    public enum SyncTypeEnum
    {
        ByMatCode = 0,
        ByMatSn = 1
    }

    public enum ShelfTypeEnum
    {
        SmartShelf = 0,
        SingleLightShelf = 1
    }
}
