iSpyApplication.MainForm.HouseKeepingTimerElapsed C# (CSharp) Method

HouseKeepingTimerElapsed() private method

private HouseKeepingTimerElapsed ( object sender, ElapsedEventArgs e ) : void
sender object
e ElapsedEventArgs
return void
        private void HouseKeepingTimerElapsed(object sender, ElapsedEventArgs e)
        {
            _houseKeepingTimer.Stop();
            if (LayoutPanel.NeedsRedraw)
            {
                _pnlCameras.PerformLayout();
                _pnlCameras.Invalidate();
                LayoutPanel.NeedsRedraw = false;
            }
            if (NeedsResourceUpdate)
            {
                RenderResources();
                NeedsResourceUpdate = false;
            }
            if (_cputotalCounter != null)
            {
                try
                {
                    while (_cpuAverages.Count > 4)
                        _cpuAverages.RemoveAt(0);
                    _cpuAverages.Add(_cpuCounter.NextValue()/Environment.ProcessorCount);

                    CpuUsage = _cpuAverages.Sum()/_cpuAverages.Count;
                    CpuTotal = _cputotalCounter.NextValue();
                    _counters = $"CPU: {CpuUsage:0.00}%";

                    if (_pcMem != null)
                    {
                        _counters += " RAM Usage: " + Convert.ToInt32(_pcMem.RawValue/1048576) + "Mb";
                    }
                    tsslMonitor.Text = _counters;
                }
                catch (Exception ex)
                {
                    // _cputotalCounter = null;
                    Logger.LogExceptionToFile(ex);
                }
                if (CpuTotal > _conf.CPUMax)
                {
                    if (ThrottleFramerate > 1)
                        ThrottleFramerate--;
                }
                else
                {
                    if (ThrottleFramerate < 40)
                        ThrottleFramerate++;
                }
            }
            else
            {
                _counters = "Stats Unavailable - See Log File";
            }

            if (_lastOver > DateTime.MinValue)
            {
                if (_lastOver < Helper.Now.AddSeconds(-4))
                {
                    tsslMediaInfo.Text = "";
                    _lastOver = DateTime.MinValue;
                }
            }

            _pingCounter++;

            if (NeedsMediaRefresh > DateTime.MinValue && NeedsMediaRefresh < Helper.Now.AddSeconds(-1))
                LoadPreviews();

            if (Resizing)
            {
                if (_lastResize < Helper.Now.AddSeconds(-1))
                    Resizing = false;
            }

            if (_pingCounter == 301)
            {
                _pingCounter = 0;
                //auto save
                try
                {
                    SaveObjects("");
                }
                catch (Exception ex)
                {
                    Logger.LogExceptionToFile(ex);
                }
                try
                {
                    SaveConfig();
                }
                catch (Exception ex)
                {
                    Logger.LogExceptionToFile(ex);
                }
            }
            try
            {
                if (!MWS.Running)
                {
                    _tsslStats.Text = "Server Error - see log file";
                    if (MWS.NumErr >= 5)
                    {
                        Logger.LogMessageToFile("Server not running - restarting");
                        StopAndStartServer();
                    }
                }
                else
                {
                    if (WsWrapper.WebsiteLive)
                    {
                        if (Conf.ServicesEnabled && !WsWrapper.LoginFailed)
                        {
                            _tsslStats.Text = LocRm.GetString("Online");
                            if (LoopBack && Conf.Subscribed)
                                _tsslStats.Text += $" ({LocRm.GetString("loopback")})";
                            else
                            {
                                if (!Conf.Subscribed)
                                    _tsslStats.Text += $" ({LocRm.GetString("LANonlynotsubscribed")})";
                                else
                                    _tsslStats.Text += $" ({LocRm.GetString("LANonlyNoLoopback")})";
                            }
                        }
                        else
                        {
                            _tsslStats.Text = LocRm.GetString("Offline");
                        }
                    }
                    else
                    {
                        _tsslStats.Text = LocRm.GetString("Offline");
                    }
                }

                if (Conf.ServicesEnabled && !WsWrapper.LoginFailed)
                {
                    if (NeedsSync)
                    {
                        WsWrapper.ForceSync();
                    }
                    WsWrapper.PingServer();
                }

                _storageCounter++;
                if (_storageCounter == 3600) // every hour
                {
                    RunStorageManagement();
                    _storageCounter = 0;
                }

                if (_pingCounter == 80)
                {
                    var t = new Thread(SaveFileData) {IsBackground = true, Name = "Saving File Data"};
                    t.Start();
                }

                if (_needsDelete)
                {
                    _needsDelete = false;
                    try
                    {
                        if (_tDelete == null || _tDelete.Join(TimeSpan.Zero))
                        {
                            _tDelete = new Thread(DeleteFiles) {IsBackground = true};
                            _tDelete.Start();
                        }
                    }
                    catch
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogExceptionToFile(ex);
            }
            Logger.WriteLogs();
            if (!_shuttingDown)
                _houseKeepingTimer.Start();
        }
MainForm