AIOAutoConSetting.cs 1.3 KB
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OnlineStore.DeviceLibrary
{
   public class AIOAutoConSetting
    {
        public static bool autoConnect = true;
        private static DateTime StartAutoConTime = DateTime.Now;
        private static int AutoMinutes = -1;

        public static void SetAutoConnect(bool autoCon, int minute=0)
        {
            autoConnect = autoCon;
            StartAutoConTime = DateTime.Now;
            AutoMinutes = minute;
            LogUtil.info($"AIOAutoConSetting:autoCon={autoCon},minute={minute}");

        }

        public static bool NeedAutoConnect()
        {
            if (autoConnect)
            {
                if (AutoMinutes <= 0)
                {
                    return true;
                }
                DateTime endConTime = StartAutoConTime.AddMinutes(AutoMinutes);
                if (DateTime.Now <= endConTime)
                { 
                    return true;
                }
                else
                {
                    autoConnect = false;
                    LogUtil.info($"AIOAutoConSetting:StartAutoConTime={StartAutoConTime},minute={AutoMinutes},自动重连IO模块结束");
                }
            }
            return false;
        }

       
    }
}