/// <summary> /// Updates mailserver core settings (ports,database type, ...). /// </summary> /// <param name="dsSettings"></param> /// <returns></returns> public void UpdateSettings(DataSet dsSettings) { switch(m_DB_Type) { #region DB_Type.WebServices case DB_Type.WebServices: using(RemoteAdmin eng = new RemoteAdmin()){ _Core.InitWebService(m_WebServicesUrl,m_WebServicesPwd,m_WebServicesUser,eng); eng.UpdateSettings(dsSettings); } break; #endregion default: if(dsSettings != null && dsSettings.Tables.Contains("Settings")){ dsSettings.WriteXml(m_DataPath + "Settings.xml",XmlWriteMode.IgnoreSchema); // If DB_Type changed to XMl, we need to reload Users, ... DB_Type dbT = (DB_Type)Enum.Parse(typeof(DB_Type),dsSettings.Tables["Settings"].Rows[0]["DataBaseType"].ToString()); if(dbT != m_DB_Type && dbT == DB_Type.XML){ LoadUsers(); LoadAliases(); LoadRouting(); LoadDomains(); LoadSecurity(); } } break; } }