Ejemplo n.º 1
0
        private static List <ClientOutput> GetCriticalValues(List <ClientOutput> clientOutputList)
        {
            List <ClientOutput> newClientOutputList = new List <ClientOutput>();

            foreach (ClientOutput co in clientOutputList)
            {
                ClientOutput newClientOutput = new ClientOutput(co.PCName, co.ID, co.Group);
                foreach (PluginOutputCollection pluginCollection in co.CollectionList)
                {
                    PluginOutputCollection newPluginCollection = new PluginOutputCollection();
                    newPluginCollection.PluginName = pluginCollection.PluginName;
                    newPluginCollection.PluginUID  = pluginCollection.PluginUID;
                    foreach (PluginOutput pluginOutput in pluginCollection.PluginOutputList)
                    {
                        if (pluginOutput.Values.Any(item => item.IsCritical == true))
                        {
                            newPluginCollection.PluginOutputList.Add(pluginOutput);
                        }
                    }
                    if (newPluginCollection.PluginOutputList.Count > 0)
                    {
                        newClientOutput.CollectionList.Add(newPluginCollection);
                    }
                }
                if (newClientOutput.CollectionList.Count > 0)
                {
                    newClientOutputList.Add(newClientOutput);
                }
            }
            return(newClientOutputList);
        }
Ejemplo n.º 2
0
        private void TakeAndPostData(bool initPost = false)
        {
            string       json;
            string       serverIP  = ConfigurationManager.AppSettings["ServerIP"];
            string       groupName = ConfigurationManager.AppSettings["GroupName"];
            ClientOutput output    = new ClientOutput(getPCName(), getCPUID(), groupName);

            PluginOutputCollection plugOutput = new PluginOutputCollection();

            _log.Debug("ServerIP: " + serverIP.ToString());
            _log.Debug("GroupName: " + groupName.ToString());

            json = string.Empty;
            output.CollectionList.Clear();

            if (!initPost)
            {
                foreach (var plugin in _plugins.PluginList)
                {
                    plugOutput = plugin.Output();
                    if (plugOutput != null)
                    {
                        output.CollectionList.Add(plugOutput);
                        _log.Debug("Plugin loaded: " + plugin.ToString());
                    }
                }
            }
            else
            {
                output.InitPost = true;
            }

            if (!SendPluginOutput(output))
            {
                // Save Output to SQLite database from JSON
                SaveOutputToDB(JsonConvert.SerializeObject(output));
                _log.Debug("Saving output to SQLite db.");

                return;
            }

            try
            {
                Dictionary <int, string> dbValues = new Dictionary <int, string>();
                dbValues = SQLiteDB.GetStoredJson(_dbName);
                foreach (var item in dbValues)
                {
                    ClientOutput clientOutputDB = JsonConvert.DeserializeObject <ClientOutput>(item.Value);
                    if (SendPluginOutput(output))
                    {
                        SQLiteDB.UpdateStatus(_dbName, item.Key);
                    }
                }
            }
            catch (Exception err)
            {
                _log.Error("Read stored values from database", err);
                return;
            }
        }
Ejemplo n.º 3
0
        private void TakeAndPostData(bool initPost = false)
        {
            string       json;
            string       serverIP     = ConfigurationManager.AppSettings["ServerIP"];
            string       customerName = ConfigurationManager.AppSettings["CustomerName"];
            ClientOutput output       = new ClientOutput(getPCName(), getMACAddress(), customerName);

            PluginOutputCollection plugOutput = new PluginOutputCollection();

            json = string.Empty;
            output.CollectionList.Clear();

            if (!initPost)
            {
                foreach (var plugin in _plugins.PluginList)
                {
                    plugOutput = plugin.Output();
                    if (plugOutput != null)
                    {
                        output.CollectionList.Add(plugOutput);
                    }
                }
            }
            else
            {
                output.InitPost = true;
            }

            if (!SendPluginOutput(output))
            {
                SaveOutputToDB(JsonConvert.SerializeObject(output));
                return;
            }

            try
            {
                Dictionary <int, string> dbValues = new Dictionary <int, string>();
                dbValues = SqliteDB.GetStoredJson(_dbName);
                foreach (var item in dbValues)
                {
                    ClientOutput clientOutputDB = JsonConvert.DeserializeObject <ClientOutput>(item.Value);
                    if (SendPluginOutput(output))
                    {
                        SqliteDB.UpdateStatus(_dbName, item.Key);
                    }
                }
            }
            catch (Exception err)
            {
                _log.Error("Read stored values from database", err);
                return;
            }
        }