public void GetAllSystemProcess()
        {
            ControlPanel.Core.ICPWebClient webClient = ControlPanel.Core.IoC.Resolve <ControlPanel.Core.ICPWebClient>("CPWebClient");
            List <ControlPanel.Core.Entities.SystemProcess> systemProcesses = webClient.GetAllSystemProcess();
            DateTime?lastUpdateDate = null;

            if (systemProcesses != null && systemProcesses.Count > 0)
            {
                systemProcesses = systemProcesses.OrderBy(x => x.DisplayOrder).ToList();
                foreach (ControlPanel.Core.Entities.SystemProcess systemProcess in systemProcesses)
                {
                    systemProcess.SystemProcessThreadList = webClient.GetSystemProcessThreadsByProcessID(systemProcess.SystemProcessId).OrderBy(x => x.DisplayOrder.Length).ThenBy(x => x.DisplayOrder).ToList();
                    if (systemProcess.SystemProcessThreadList != null)
                    {
                        var currentMax = systemProcess.SystemProcessThreadList.Select(x => x.LastUpdateDate).Max();
                        if (!lastUpdateDate.HasValue || currentMax > lastUpdateDate)
                        {
                            lastUpdateDate = currentMax;
                        }
                    }
                }
            }

            jsondata = new JavaScriptSerializer().Serialize(systemProcesses);

            lastupdatedate = lastUpdateDate.ToString();
        }
        public void ToggleContinuous(string id)
        {
            int systemProcessThreadID = 0;

            int.TryParse(id, out systemProcessThreadID);
            if (systemProcessThreadID > 0)
            {
                ControlPanel.Core.ICPWebClient webClient = ControlPanel.Core.IoC.Resolve <ControlPanel.Core.ICPWebClient>("CPWebClient");
                webClient.ToggleSystemProcessThreadContinuous(systemProcessThreadID);
            }
            GetAllSystemProcess();
        }
        public static string GetUpdatedSystemProcessThreads(string ThreadLastUpdateDateStr, string EventLogLastUpdateDateStr)
        {
            try
            {
                DateTime ThreadLastUpdateDate            = Convert.ToDateTime(ThreadLastUpdateDateStr);
                DateTime EventLogLastUpdateDate          = Convert.ToDateTime(EventLogLastUpdateDateStr);
                ControlPanel.Core.ICPWebClient webClient = ControlPanel.Core.IoC.Resolve <ControlPanel.Core.ICPWebClient>("CPWebClient");
                var      threads         = webClient.GetSystemProcessThreadsByLastUpdateDate(ThreadLastUpdateDate);
                var      eventLogs       = webClient.GetEventLogByLastUpdateDate(EventLogLastUpdateDate);
                DateTime maxThreadDate   = ThreadLastUpdateDate;
                DateTime maxEventLogDate = EventLogLastUpdateDate;

                if (threads.Data == null)
                {
                    threads.Data = new List <ControlPanel.Core.Entities.SystemProcessThread>();
                }
                else if (threads.Data.Count > 0)
                {
                    maxThreadDate = threads.Data.Select(x => x.LastUpdateDate).Max().Value;
                }

                if (eventLogs == null)
                {
                    eventLogs = new List <ControlPanel.Core.Entities.SystemEventLog>();
                }
                else if (eventLogs.Count > 0)
                {
                    maxEventLogDate = eventLogs.Select(x => x.DateOccured).Max();
                }

                if (threads.Data != null && threads.Data.Count > 0)
                {
                    return(JSONhelper.GetString(new ControlPanelUpdateModel()
                    {
                        Threads = threads.Data, ThreadLastUpdateDate = maxThreadDate, EventLogs = eventLogs, EventLogLastUpdateDate = maxEventLogDate
                    }));
                }
                else
                {
                    return(JSONhelper.GetString(new ControlPanelUpdateModel()
                    {
                        ThreadLastUpdateDate = ThreadLastUpdateDate, EventLogLastUpdateDate = EventLogLastUpdateDate
                    }));
                }
            }
            catch (Exception exp) { return(exp.Message); }
        }