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

namespace SlnMesnac.WPF.Model
{
    public class Real_DataInfo : INotifyPropertyChanged
    {
        private string _LineName = "";
        public string LineName
        {
            get { return _LineName; }
            set
            {
                if (_LineName != value)
                {
                    _LineName = value;
                    OnPropertyChanged(nameof(LineName));
                }
            }
        }

        private string _LineNo = "";
        public string LineNo
        {
            get { return _LineNo; }
            set
            {
                if (_LineNo != value)
                {
                    _LineNo = value;
                    OnPropertyChanged(nameof(LineNo));
                }
            }
        }
        private string _OrderNo = "";

        public string OrderNo
        {
            get { return _OrderNo; }
            set
            {
                if (_OrderNo != value)
                {
                    _OrderNo = value;
                    OnPropertyChanged(nameof(OrderNo));
                }
            }
        }

        private string _ProductType = "";
        public string ProductType
        {
            get { return _ProductType; }
            set
            {
                if (_ProductType != value)
                {
                    _ProductType = value;
                    OnPropertyChanged(nameof(ProductType));
                }
            }
        }
        private string _RfidCount = "";
        public string RfidCount
        {
            get { return _RfidCount; }
            set
            {
                if (_RfidCount != value)
                {
                    _RfidCount = value;
                    OnPropertyChanged(nameof(RfidCount));
                }
            }
        }
        private string _WriteCount = "";
        public string WriteCount
        {
            get { return _WriteCount; }
            set
            {
                if (_WriteCount != value)
                {
                    _WriteCount = value;
                    OnPropertyChanged(nameof(WriteCount));
                }
            }
        }
        private string _ProductStatus = "";
        public string ProductStatus
        {
            get { return _ProductStatus; }
            set
            {
                if (_ProductStatus != value)
                {
                    _ProductStatus = value;
                    OnPropertyChanged(nameof(ProductStatus));
                }
            }
        }

        private string _RfidASCII = "";
        public string RfidASCII
        {
            get { return _RfidASCII; }
            set
            {
                if (_RfidASCII != value)
                {
                    _RfidASCII = value;
                    OnPropertyChanged(nameof(RfidASCII));
                }
            }
        }
        private string _RfidEPC = "";
        public string RfidEPC {
            get { return _RfidEPC; }
            set
            {
                if (_RfidEPC != value)
                {
                    _RfidEPC = value;
                    OnPropertyChanged(nameof(RfidEPC));
                }
            }
        }


        public string _WriteTime = "";
        public string WriteTime
        {
            get { return _WriteTime; }
            set
            {
                if (_WriteTime != value)
                {
                    _WriteTime = value;
                    OnPropertyChanged(nameof(WriteTime));
                }
            }
        }


        public string _WriteStatus = "";
        public string WriteStatus
        {
            get { return _WriteStatus; }
            set
            {
                if (_WriteStatus != value)
                {
                    _WriteStatus = value;
                    OnPropertyChanged(nameof(WriteStatus));
                }
            }
        }

        private string _ReadTime = "";
        public string ReadTime
        {
            get { return _ReadTime; }
            set
            {
                if (_ReadTime != value)
                {
                    _ReadTime = value;
                    OnPropertyChanged(nameof(ReadTime));
                }
            }
        }

        private string _SerialNo = "";
        public string SerialNo
        {
            get { return _SerialNo; }
            set
            {
                if (_SerialNo != value)
                {
                    _SerialNo = value;
                    OnPropertyChanged(nameof(SerialNo));
                }
            }
        }

        private string _NextProductNo = "";
        public string NextProductNo
        {
            get { return _NextProductNo; }
            set
            {
                if (_NextProductNo != value)
                {
                    _NextProductNo = value;
                    OnPropertyChanged(nameof(NextProductNo));
                }
            }
        }

        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        public string Deviceid { get; set; } = null!;

        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        public string? Name { get; set; }

        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        public string? Connectstr { get; set; }




        private string _isOnline ="未连接";

        public string IsOnline
        {
            get { return _isOnline; }
            set
            {
                if (_isOnline != value)
                {
                    _isOnline = value;
                    OnPropertyChanged(nameof(IsOnline));
                }
            }
        }



        public event PropertyChangedEventHandler? PropertyChanged;

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