using Aucma.Scada.UI.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Aucma.Scada.UI
{
    public sealed class AppConfig
    {

        private static IniHelper iniHelper = new IniHelper(System.Environment.CurrentDirectory + "/config/App.InI");


        //private static readonly Lazy<AppConfig> lazy = new Lazy<AppConfig>(() => new AppConfig());
        //public static new  AppConfig();//AppConfig.Instance
        //{
        //    get
        //    {
        //        return lazy.Value;
        //    }
        //}


        public  AppConfig()
        {
            //stationName = "箱壳内胆组装";
            //linerStoreCode = "NDJCK-001";
            //foamBeforeStoreCode = "PBSCK-001";
        }

        public string mesConnStr
        {
            get { return iniHelper.IniReadValue("system", "mesConnStr"); }
            set { iniHelper.IniWriteValue("system", "mesConnStr", value); }
        }

        public string scadaConnStr
        {
            get { return iniHelper.IniReadValue("system", "scadaConnStr"); }
            set { iniHelper.IniWriteValue("system", "scadaConnStr", value); }
        }

        /// <summary>
        /// 工位编号
        /// </summary>
        public string stationCode
        {
            get { return iniHelper.IniReadValue("system", "stationCode"); }
            set { iniHelper.IniWriteValue("system", "stationCode", value); }
        }

        /// <summary>
        /// 工位名称
        /// </summary>
        public string stationName
        {
            get { return iniHelper.IniReadValue("system", "stationName"); }
            //get { return "箱壳内胆组装"; }
            set { iniHelper.IniWriteValue("system", "stationName", value); }
        }

        /// <summary>
        /// 箱壳库编号
        /// </summary>
        public string shellStoreCode
        {
            get { return iniHelper.IniReadValue("system", "shellStoreCode"); }
            set { iniHelper.IniWriteValue("system", "shellStoreCode", value); }
        }

        /// <summary>
        /// 内胆库编号
        /// </summary>
        public string linerStoreCode
        {
            get { return iniHelper.IniReadValue("system", "linerStoreCode"); }
            set { iniHelper.IniWriteValue("system", "linerStoreCode", value); }
        }

        /// <summary>
        /// 泡前库编号
        /// </summary>
        public string foamBeforeStoreCode
        {
            get { return iniHelper.IniReadValue("system", "foamBeforeStoreCode"); }
            set { iniHelper.IniWriteValue("system", "foamBeforeStoreCode", value); }
        }

        /// <summary>
        /// 箱壳物料类型编号
        /// </summary>
        public string shellMaterialType
        {
            get { return iniHelper.IniReadValue("system", "shellMaterialType"); }
            set { iniHelper.IniWriteValue("system", "shellMaterialType", value); }
        }

        /// <summary>
        /// 内胆物料类型编号
        /// </summary>
        public string linerMaterialType
        {
            get { return iniHelper.IniReadValue("system", "linerMaterialType"); }
            set { iniHelper.IniWriteValue("system", "linerMaterialType", value); }
        }

        /// <summary>
        /// 入库任务类型编号
        /// </summary>
        public int instoreTaskType
        {
            get { return Convert.ToInt32(iniHelper.IniReadValue("system", "instoreTaskType")); }
            set { iniHelper.IniWriteValue("system", "instoreTaskType", value.ToString()); }
        }

        /// <summary>
        /// 出库任务类型编号
        /// </summary>
        public int outstoreTaskType
        {
            get { return Convert.ToInt32(iniHelper.IniReadValue("system", "outstoreTaskType")); }
            set { iniHelper.IniWriteValue("system", "outstoreTaskType", value.ToString()); }
        }

        /// <summary>
        /// 箱壳扫码器IP
        /// </summary>
        public string shellHikRobotIp
        {
            get { return iniHelper.IniReadValue("system", "shellHikRobotIp"); }
            set { iniHelper.IniWriteValue("system", "shellHikRobotIp", value); }
        }

        /// <summary>
        /// 内胆扫码器IP
        /// </summary>
        public string linerHikRobotIp
        {
            get { return iniHelper.IniReadValue("system", "linerHikRobotIp"); }
            set { iniHelper.IniWriteValue("system", "linerHikRobotIp", value); }
        }

        public string searchItems
        {
            get { return iniHelper.IniReadValue("system", "searchItems"); }
            set { iniHelper.IniWriteValue("system", "searchItems", value); }
        }
    }
}