Пример #1
0
        private static void TimerElapsed(object sender, ElapsedEventArgs e)
        {
            if (_license.ExpiredDate != null && _license.ExpiredDate.Date < DateTime.Now.Date)
            {
                _timer.Dispose();

                _timer          = new Timer(5000);
                _timer.Elapsed += (s, er) => Environment.Exit(0);
                _timer.Enabled  = true;

                OnLicenseExpired?.Invoke("License period expired");
            }

            if (_license.ExpiredSessionSeconds > 0)
            {
                var dateDifference = (DateTime.Now - _startWork).TotalSeconds;

                if (dateDifference > _license.ExpiredSessionSeconds)
                {
                    _timer.Dispose();

                    _timer          = new Timer(5000);
                    _timer.Elapsed += (s, er) => Environment.Exit(0);
                    _timer.Enabled  = true;

                    OnLicenseExpired?.Invoke("Maximum work time achieved");
                }
            }
        }
Пример #2
0
        public static void Start()
        {
            var licenseFilename = @".\license.lp";

            if (File.Exists(licenseFilename))
            {
                _startWork = DateTime.Now;
                _license   = GetLicense(licenseFilename);

                _timer          = new Timer(1000);
                _timer.Elapsed += TimerElapsed;
                _timer.Enabled  = true;
            }
            else
            {
                OnLicenseExpired?.Invoke("Can't find license file");
                Environment.Exit(0);
            }
        }