TDGage.cs 4.02 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;

using FObjBase;
using Misc;


namespace FLY.FeedbackRenZiJia.Server
{
    public class TDGage : Misc.ISaveToXml
    {
        #region 参数--------------------------------------------------------------------
        #region 初始化------------------------------------------------------------------
        public string mParamDirectory;//参数目录 m_path;//数据文件的 根目录默认是 Gage1
        public string mName;//名字 如:gage0
        #endregion
        #region 本地数据----------------------------------------------------------------
        public OBJ_FileBus.Server mServer;
        public FeedbackHeat mfeedback;
        #endregion
        #region 服务器数据--------------------------------------------------------------
        /// <summary>
        /// OBJ服务端口
        /// </summary>
        public int OBJ_Port { get; set; } = 20007;

        /// <summary>
        /// 远程服务器
        /// </summary>
        public IPEndPoint ServerIPEP { get; set; }

        

        public FLY.Thick.Base.Client.DynAreaService mDynAreaService;

        public FLY.Thick.Blowing.Client.BlowingServiceClient mRenZiJia;

        public FLY.Thick.Blowing.Client.BlowingDetectServiceClient mBDetect;
        #endregion
        #endregion


        public TDGage(string nam)
        {
            mName = nam;
            mParamDirectory = mName;// @"D:\" + m_name;

            if (!System.IO.Directory.Exists(mParamDirectory))
            {
                System.IO.Directory.CreateDirectory(mParamDirectory);
            }
            System.Environment.CurrentDirectory = mParamDirectory;

            Init1();

        }


        #region Init登陆服务器初始化----------------------------------------------------
        /// <summary>
        /// 第1步, 加载本地数据
        /// </summary>
        public void Init1()
        {

            #region 数据备份。。。。
            BackupFile.Add("feedback.xml", BackupFile.xml_isFileOK);
            BackupFile.Add("heatbuf.xml", BackupFile.xml_isFileOK);
            BackupFile.Add("heatcell.xml", BackupFile.xml_isFileOK);
            BackupFile.Add("system.xml", BackupFile.xml_isFileOK);

            BackupFile.CheckResult cr = BackupFile.Check();
            #endregion

            OBJ_Port = 20007;
            ServerIPEP = Misc.StringConverter.ToIPEndPoint("127.0.0.1:20006");

            Load();

            #region 与服务器同步的数据

            mDynAreaService = new FLY.Thick.Base.Client.DynAreaService();

            mRenZiJia = new FLY.Thick.Blowing.Client.BlowingServiceClient();

            mBDetect = new Thick.Blowing.Client.BlowingDetectServiceClient();
            #endregion

            #region 提取保存的数据


            mfeedback = new FeedbackHeat();//系统参数


            mfeedback.Init(
                mDynAreaService.mDynArea,
                mRenZiJia,mBDetect
                );
            
            mServer = new OBJ_FileBus.Server("");
            #endregion

            Init2();
        }

        /// <summary>
        /// 第2步, 连接到服务器,初始化参数 。由界面的 【登陆】 按钮触发
        /// </summary>
        private void Init2()
        {
            #region 网络初始化
            FObjSys.Current.Connect_to_Another_OBJSys( 
                ServerIPEP, 
                mDynAreaService.ID,
                mRenZiJia.ID,
                mBDetect.ID
                );

            #endregion
        }

        #endregion

        public void Save() 
        {
            Misc.SaveToXmlHepler.Save("system.xml", this);
        }
        public void Load() 
        {
            Misc.SaveToXmlHepler.Load("system.xml", this);
        }
        #region ISaveToXml 成员

        public string[] GetSavePropertyNames()
        {
            return new string[]{
                "OBJ_Port",
                "ServerIPEP"
            };
        }

        #endregion
    }
}