using Microsoft.Toolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.DosingSystem.Model
{
    /// <summary>
    /// 原料模块
    /// </summary>
    public class RawMaterialModel : ObservableObject
    {
        /// <summary>
        /// 原料名称
        /// </summary>
        public string RawMaterialName { get { return _mRawMaterialName; } set { _mRawMaterialName = value; OnPropertyChanged(); } }
        private string _mRawMaterialName;

        /// <summary>
        /// 原料设备IP
        /// </summary>
        public string DeviceIp { get; set; }

        /// <summary>
        /// 原料重量设置
        /// </summary>
        public uint RawMaterialWeight { get { return _mRawMaterialWeight; } set { _mRawMaterialWeight = value; OnPropertyChanged(); } }
        private uint _mRawMaterialWeight;

        /// <summary>
        /// 原料类型 MW18
        /// 1：液体
        /// 2：膏体
        /// 3：粉体
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public ushort RawMaterialType { get { return _mRawMaterialType; } set { _mRawMaterialType = value; OnPropertyChanged(); } }
        private ushort _mRawMaterialType;

        /// <summary>
        /// 料仓重量反馈 MD40
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public float WeightFeedback { get { return _mWeightFeedback; } set { _mWeightFeedback = value; OnPropertyChanged(); } }
        private float _mWeightFeedback;

        /// <summary>
        /// 上限反馈
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public bool UpLimtFeedback { get { return _mUpLimtFeedback; } set { _mUpLimtFeedback = value; OnPropertyChanged(); } }
        private bool _mUpLimtFeedback;

        /// <summary>
        /// 下限反馈 
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public bool DownLimtFeedback { get { return _mDownLimtFeedback; } set { _mDownLimtFeedback = value; OnPropertyChanged(); } }
        private bool _mDownLimtFeedback;

        /// <summary>
        /// 下料重量反馈   MD52
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public float UpLimtWeightFeedback { get { return _mUpLimtWeightFeedback; } set { _mUpLimtWeightFeedback = value; OnPropertyChanged(); } }
        private float _mUpLimtWeightFeedback;


        /// <summary>
        /// 原料ID
        /// </summary>
        public string RawMaterialId { get { return _mRawMaterialId; } set { _mRawMaterialId = value; OnPropertyChanged(); } }
        private string _mRawMaterialId;

        /// <summary>
        /// 原料设备执行状态
        /// 1：空闲状态
        /// 2：下料中
        /// 3：下料完成
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public ushort RecipeStatus { get { return _mRecipeStatus; } set { _mRecipeStatus = value; OnPropertyChanged(); } }
        private ushort _mRecipeStatus = 1;

    }
}
