using Common.Models;
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace Common.Models
{
    /// <summary>
    /// 样品瓶工装的模型
    /// </summary>
    [Serializable]
    public class SampleBottleBoxModel : BaseBottleBox
    {
        private SampleBottleTypeEnum sampleBottleType = SampleBottleTypeEnum._5mL;
        /// <summary>
        /// 样品瓶类型  5ML/12ML
        /// </summary>
        public SampleBottleTypeEnum SampleBottleType
        {
            get { return sampleBottleType; }
            set { SetProperty(ref sampleBottleType, value); }
        }

        private ObservableCollection<SampleBottleModel> sampleBottleList = new ObservableCollection<SampleBottleModel>();
        /// <summary>
        /// 一个样品工装中样品瓶的集合(12个样品瓶)
        /// </summary>
        public ObservableCollection<SampleBottleModel> SampleBottleList
        {
            get { return sampleBottleList; }
            set { SetProperty(ref sampleBottleList, value); }
        }

        #region 投料站

        //private bool haveBox = false;
        ///// <summary>
        ///// 投料站中放样品工装1-4个位置中 是否有样品瓶工装
        ///// </summary>
        //public bool HaveBox
        //{
        //    get => haveBox;
        //    set
        //    {
        //        SetProperty(ref haveBox, value);
        //    }
        //}

        #endregion

        #region 反应站

        private int _boxid_inReactUpload = 0;
        /// <summary>
        /// 样品工装在反应站中的上料时位置(1-6)
        /// </summary>
        public int BoxId_inReactUpload
        {
            get => _boxid_inReactUpload;
            set
            {
                SetProperty(ref _boxid_inReactUpload, value);
            }
        }

        private int _boxid_inhightempHC = 0;
        /// <summary>
        /// 样品工装在反应站中高温缓存位置(1-3),在高温模块上的缓存位置
        /// </summary>
        public int BoxId_inhightempHC
        {
            get => _boxid_inhightempHC;
            set
            {
                SetProperty(ref _boxid_inhightempHC, value);
            }
        }

        private int _boxid_inReactRack_layer = 3;
        /// <summary>
        /// 样品工装在反应站中料架中的第几层 默认三层或者四层
        /// </summary>
        public int BoxId_inReactRack_Layer
        {
            get => _boxid_inReactRack_layer;
            set
            {
                SetProperty(ref _boxid_inReactRack_layer, value);
            }
        }

        private int _boxid_inReactRack_pos = 0;
        /// <summary>
        /// 样品工装在反应站中料架中的第几层第几个位置（1-10）
        /// </summary>
        public int BoxId_inReactRack_Pos
        {
            get => _boxid_inReactRack_pos;
            set
            {
                SetProperty(ref _boxid_inReactRack_pos, value);
            }
        }

        public SampleBottleBoxModel()
        {

        }

        #endregion
    }
}
