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; }