using System;
using System.Linq;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Runtime.InteropServices;

using Cosmos.BaseFrame;
using Cosmos.UserFrame;
using Cosmos.ServiceProvider;
using Cosmos.Common;
using Cosmos.Service;
using Cosmos.CommonManager;
using System.Threading;
using SPC.Kiosk.Common;
using SPC.Kiosk.PB.Model;
namespace SPC.Kiosk.DataHelper
{
    public class PBDataHelper : IDisposable
    {
        #region [ Members ]
        private SManager sManager = null;                                   // 이 객체를 통해 업무 Service 호출
        private StateServer StateObject = null;                             // StateObject : StateServer Object (객체)
        private PosStatus m_cPosStatus = null;                              // 기본정보 참조
        private TranStatus m_cTrnStatus = null;                             // 거래정보 참조
        protected IDataCommonUs m_cDataCommon = null;
        /// <summary>
        /// POS 초기화 필요 유무
        /// </summary>
        public bool NeedInitModule { get; set; }
        #endregion Members

        #region [ Ctor & Dispose ]
        /// <summary>
        /// Ctor
        /// </summary>
        public PBDataHelper()
        {
            sManager = new SManager();
            StateObject = (StateServer)StateServer.GetInstance();
            if (!NeedInitModule)
            {
                m_cPosStatus = (PosStatus)StateObject.POS;      // POS 기본정보
                m_cTrnStatus = (TranStatus)StateObject.TRAN;    // POS 거래정보 
                m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
            }
        }

        /// <summary>
        /// Dispose
        /// </summary>
        public void Dispose()
        {
            sManager = null;                                  // 이 객체를 통해 업무 Service 호출
            StateObject = null;                               // StateObject : StateServer Object (객체)
            m_cPosStatus = null;                              // 기본정보 참조
            m_cTrnStatus = null;                              // 거래정보 참조
            m_cDataCommon = null;
        }
        #endregion Ctor & Dispose

        #region [ Methods ]
        

        #endregion Methods
    }
}
