using System;
using System.Linq;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;

namespace INT_PT002.DataStore
{
    public class LeakData
    {
        #region Field
        private Define.E_ProcessStatus m_ProcessStatus;

        private Collection<Define.E_JudgmentStatus> m_CollJudgment;
        private Collection<DispData> m_CollDispData;
        private Collection<DiffData> m_CollDiffData;
        private Collection<PressureData> m_CollPresData;
        #endregion

        #region Constructor
        public LeakData(int column)
        {
            this.Initialize(column);
        }
        #endregion

        #region Property
        public Define.E_ProcessStatus ProcessStatus
        {
            get { return this.m_ProcessStatus; }
            set { this.m_ProcessStatus = value; }
        }

        public Collection<Define.E_JudgmentStatus> CollJudgment
        {
            get { return this.m_CollJudgment; }
            set { this.m_CollJudgment = value; }
        }
        // 변위센서 데이터
        public Collection<DispData> CollDispData
        {
            get { return this.m_CollDispData; }
            set { this.m_CollDispData = value; }
        }
        /// <summary>
        /// 차압센서 데이터
        /// </summary>
        public Collection<DiffData> CollDiffData
        {
            get { return this.m_CollDiffData; }
            set { this.m_CollDiffData = value; }
        }
        /// <summary>
        /// 압력센서 데이터
        /// </summary>
        public Collection<PressureData> CollPresData
        {
            get { return this.m_CollPresData; }
            set { this.m_CollPresData = value; }
        }
        #endregion

        #region Method
        private void Initialize(int column)
        {
            this.ProcessStatus = Define.E_ProcessStatus._0_None;

            this.CollJudgment = new Collection<Define.E_JudgmentStatus>();
            this.CollDispData = new Collection<DispData>();
            this.CollDiffData = new Collection<DiffData>();
            this.CollPresData = new Collection<PressureData>();

            for (int i = 0; i < column; i++)
            {
                this.CollJudgment.Add(Define.E_JudgmentStatus.None);
                this.CollDispData.Add(new DispData());
                this.CollDiffData.Add(new DiffData());
                this.CollPresData.Add(new PressureData());
            }
        }
        #endregion
    }
}
