}                                              // for Logs tab
        #endregion

        #region Constructor, dependancy injections and Members setup.
        public MonitorTabControlViewModel()
        {
            alertConfig = new AlertConfigModel(@"D:\temp\Projects\C#\PingAlerter\PingAlerter\LoadScript.wav");
            logConfig   = new LogConfigModel(@"D:\LogFile.txt");
            // TEST
            //DBLogger = new DBMySQLLogger("Server=127.0.0.1;Database=pingalerterlogs;Uid=root;Pwd=toor;");

            InitViewModels();
            InitClass();
        }
예제 #2
0
        public void UpdateLogItem(LogConfigModel updateModel)
        {
            try
            {
                XmlDocument doc = new XmlDocument();

                XmlReaderSettings settings = new XmlReaderSettings();
                settings.IgnoreComments = false;
                string    filePath = AppDomain.CurrentDomain.BaseDirectory + "Log.config";
                XmlReader reader   = XmlReader.Create(filePath, settings);
                doc.Load(reader);
                reader.Close();

                if (updateModel.NodeName == "AppId" || updateModel.NodeName == "ErrorLog" || updateModel.NodeName == " DebugLog" || updateModel.NodeName == "WarningLog" || updateModel.NodeName == "InfoLog" || updateModel.NodeName == "PerformanceLog")
                {
                    var selectedNode = doc.SelectSingleNode(string.Format("configuration//{0}", updateModel.NodeName));
                    if (selectedNode != null)
                    {
                        XmlElement xmlEle = (XmlElement)selectedNode;
                        if (xmlEle.GetAttribute(updateModel.Attribute) == updateModel.OldValue)
                        {
                            xmlEle.SetAttribute(updateModel.Attribute, updateModel.Val);
                        }
                    }
                }
                else
                {
                    var selectedNode = doc.SelectSingleNode(string.Format("configuration//{0}[@{1}='{2}']", updateModel.NodeName, updateModel.Attribute, updateModel.Title));
                    if (selectedNode != null)
                    {
                        XmlElement xmlEle = (XmlElement)selectedNode;
                        if (xmlEle.GetAttribute("value") == updateModel.OldValue)
                        {
                            xmlEle.SetAttribute("value", updateModel.Val);
                        }
                    }
                }
                doc.Save(filePath);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }