Exemple #1
0
        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    xmlWriter.Close();
                    defaultSpecification = null;
                    // Dispose any managed objects
                    // ...
                }

                // Now disposed of any unmanaged objects
                // ...

                _disposed = true;
            }
        }
Exemple #2
0
        public SettingsReaderWriter()
        {
            try
            {
                appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

                appDataPath = Path.Combine(appDataPath, "RFiDGear");

                if (!Directory.Exists(appDataPath))
                {
                    Directory.CreateDirectory(appDataPath);
                }

                XmlWriterSettings xmlSettings = new XmlWriterSettings();
                xmlSettings.Encoding = new UTF8Encoding(false);

                xmlWriter = XmlWriter.Create(Path.Combine(appDataPath, _updateConfigFileFileName), xmlSettings);
                xmlWriter.WriteStartDocument();
                xmlWriter.WriteStartElement("Manifest");
                xmlWriter.WriteAttributeString("version", string.Format("{0}.{1}.{2}", Version.Major, Version.Minor, Version.Build));

                xmlWriter.WriteEndElement();
                xmlWriter.Close();

                var doc = new XmlDocument();
                doc.Load(Path.Combine(appDataPath, _updateConfigFileFileName));

                if (doc.SelectSingleNode("//CheckInterval") == null)
                {
                    XmlElement CheckIntervalElem   = doc.CreateElement("CheckInterval");
                    XmlElement RemoteConfigUriElem = doc.CreateElement("RemoteConfigUri");
                    XmlElement SecurityTokenElem   = doc.CreateElement("SecurityToken");
                    XmlElement BaseUriElem         = doc.CreateElement("BaseUri");
                    XmlElement PayLoadElem         = doc.CreateElement("Payload");

                    doc.DocumentElement.AppendChild(CheckIntervalElem);
                    doc.DocumentElement.AppendChild(RemoteConfigUriElem);
                    doc.DocumentElement.AppendChild(SecurityTokenElem);
                    doc.DocumentElement.AppendChild(BaseUriElem);
                    doc.DocumentElement.AppendChild(PayLoadElem);

                    CheckIntervalElem.InnerText   = _updateInterval.ToString();
                    RemoteConfigUriElem.InnerText = _updateURL;
                    SecurityTokenElem.InnerText   = _securityToken;
                    BaseUriElem.InnerText         = _baseUri;
                    PayLoadElem.InnerText         = _payload;

                    doc.Save(Path.Combine(appDataPath, _updateConfigFileFileName));
                }
            }
            catch (Exception e)
            {
                LogWriter.CreateLogEntry(string.Format("{0}\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""));
            }

            if (!File.Exists(Path.Combine(appDataPath, _settingsFileFileName)))
            {
                try
                {
                    defaultSpecification = new DefaultSpecification(true);

                    var serializer = new XmlSerializer(defaultSpecification.GetType());

                    var txtWriter = new StreamWriter(Path.Combine(appDataPath, _settingsFileFileName));

                    serializer.Serialize(txtWriter, defaultSpecification);

                    txtWriter.Close();
                }
                catch (Exception e)
                {
                    LogWriter.CreateLogEntry(string.Format("{0}; {1}; {2}", DateTime.Now, e.Message, e.InnerException != null ? e.InnerException.Message : ""));
                }
            }
            //else
            //ReadSettings();
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool ReadSettings(string _fileName = "")
        {
            TextReader reader;
            int        verInfo;

            if (!string.IsNullOrWhiteSpace(_fileName) && !File.Exists(_fileName))
            {
                return(false);
            }

            if (File.Exists(_fileName) || (string.IsNullOrWhiteSpace(_fileName) && File.Exists(Path.Combine(appDataPath, _settingsFileFileName))))
            {
                //Path.Combine(appDataPath,databaseFileName)
                var doc = new XmlDocument();

                try
                {
                    var serializer = new XmlSerializer(typeof(DefaultSpecification));

                    if (string.IsNullOrWhiteSpace(_fileName) && File.Exists(Path.Combine(appDataPath, _settingsFileFileName)))
                    {
                        doc.Load(@Path.Combine(appDataPath, _settingsFileFileName));

                        var node = doc.SelectSingleNode("//ManifestVersion");
                        verInfo = Convert.ToInt32(node.InnerText.Replace(".", string.Empty));

                        reader = new StreamReader(Path.Combine(appDataPath, _settingsFileFileName));
                    }
                    else
                    {
                        doc.Load(_fileName);

                        XmlNode node = doc.SelectSingleNode("//ManifestVersion");
                        verInfo = Convert.ToInt32(node.InnerText.Replace(".", string.Empty));

                        reader = new StreamReader(_fileName);
                    }

                    if (verInfo > Convert.ToInt32(string.Format("{0}{1}{2}", Version.Major, Version.Minor, Version.Build)))
                    {
                        throw new Exception(
                                  string.Format("database that was tried to open is newer ({0}) than this version of eventmessenger ({1})"
                                                , verInfo, Convert.ToInt32(string.Format("{0}{1}{2}", Version.Major, Version.Minor, Version.Build))
                                                )
                                  );
                    }

                    //defaultSpecification = new DefaultSpecification();
                    defaultSpecification = (serializer.Deserialize(reader) as DefaultSpecification);

                    reader.Close();
                }
                catch (Exception e)
                {
                    LogWriter.CreateLogEntry(string.Format("{0}\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""));
                    return(true);
                }

                return(false);
            }
            return(true);
        }