Example #1
0
        public UserConfiguration()
        {
            Maintenance = false;
            SessionLifetime = DefaultConfiguration.DEFAULT_SESSION_LIFETIME;

            ServerInfo = new ServerInfo();
            DatabaseInfo = new DatabaseInfo();
        }
        public bool Save(bool maintance, int sessionLifetime,
            ServerInfo si, DatabaseInfo di)
        {
            bool bRet = false;

            if (sessionLifetime <= 0)
            {
                return bRet;
            }

            if (si == null || di == null)
            {
                return bRet;
            }

            // Create the file
            if (!Directory.Exists(DefaultConfiguration.DEFAULT_CONFIG_FOLDER))
            {
                Directory.CreateDirectory(DefaultConfiguration.DEFAULT_CONFIG_FOLDER);
            }

            if (File.Exists(DefaultConfiguration.DEFAULT_CONFIG_PATH))
            {
                File.Delete(DefaultConfiguration.DEFAULT_CONFIG_PATH);
            }

            try
            {
                // Save the configuration
                XmlDocument doc = new XmlDocument();

                XmlElement eleRoot = doc.CreateElement("settings");
                // Server configuration
                XmlElement eleMaintance = doc.CreateElement("maintenance");
                XmlElement eleSessionLifetime = doc.CreateElement("sessionLifetime");

                XmlElement eleServer = doc.CreateElement("server");
                XmlElement eleServerAddress = doc.CreateElement("hostname");
                XmlElement eleServerPort = doc.CreateElement("port");
                XmlElement eleServerScheme = doc.CreateElement("scheme");

                eleServerAddress.InnerText = si.Hostname;
                eleServerPort.InnerText = si.Port + "";
                eleServerScheme.InnerText = si.Scheme;

                eleServer.AppendChild(eleServerAddress);
                eleServer.AppendChild(eleServerPort);
                eleServer.AppendChild(eleServerScheme);

                // Database configuration
                XmlElement eleDb = doc.CreateElement("database");
                XmlElement eleDbAddress = doc.CreateElement("hostname");
                XmlElement eleDbPort = doc.CreateElement("port");
                XmlElement eleDbUser = doc.CreateElement("username");
                XmlElement eleDbPass = doc.CreateElement("password");
                XmlElement eleDbName = doc.CreateElement("database");
                XmlElement eleDbTimeout = doc.CreateElement("timeout");

                eleDbAddress.InnerText = di.Host;
                eleDbPort.InnerText = di.Port + "";
                eleDbUser.InnerText = di.Username;
                eleDbPass.InnerText = di.Password;
                eleDbName.InnerText = di.Database;
                eleDbTimeout.InnerText = di.Timeout + "";

                eleDb.AppendChild(eleDbAddress);
                eleDb.AppendChild(eleDbPort);
                eleDb.AppendChild(eleDbUser);
                eleDb.AppendChild(eleDbPass);
                eleDb.AppendChild(eleDbName);
                eleDb.AppendChild(eleDbTimeout);

                eleMaintance.InnerText = maintance.ToString();
                eleSessionLifetime.InnerText = sessionLifetime + "";

                // Append to the root element
                eleRoot.AppendChild(eleMaintance);
                eleRoot.AppendChild(eleSessionLifetime);
                eleRoot.AppendChild(eleServer);
                eleRoot.AppendChild(eleDb);

                doc.AppendChild(eleRoot);
                doc.Save(DefaultConfiguration.DEFAULT_CONFIG_PATH);

                bRet = true;
            } catch (Exception) { }

            return bRet;
        }