using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using CMS.DataEngine; using CMS.GlobalHelper; using CMS.PortalControls; using CMS.SettingsProvider; public partial class CMSWebParts_DataSources_SQLDataSource : CMSAbstractWebPart { #region "Public properties" /// /// Gest or sest the cache item name. /// public override string CacheItemName { get { return base.CacheItemName; } set { base.CacheItemName = value; srcSQL.CacheItemName = value; } } /// /// Cache dependencies, each cache dependency on a new line. /// public override string CacheDependencies { get { return ValidationHelper.GetString(base.CacheDependencies, srcSQL.CacheDependencies); } set { base.CacheDependencies = value; srcSQL.CacheDependencies = value; } } /// /// Gets or sets the cache minutes. /// public override int CacheMinutes { get { return base.CacheMinutes; } set { base.CacheMinutes = value; srcSQL.CacheMinutes = value; } } /// /// Gets or sets the server authentication mode. /// public int AuthenticationMode { get { return ValidationHelper.GetInteger(GetValue("AuthenticationMode"), 0); } set { SetValue("AuthenticationMode", value); SQLServerAuthenticationModeEnum mode = (value == 0) ? SQLServerAuthenticationModeEnum.SQLServerAuthentication : SQLServerAuthenticationModeEnum.WindowsAuthentication; srcSQL.AuthenticationMode = mode; } } /// /// Gets or sets query text. /// public string QueryText { get { return ValidationHelper.GetString(GetValue("QueryText"), null); } set { SetValue("QueryText", value); srcSQL.QueryText = value; } } /// /// Gets or sets query type. (Standard query or stored procedure.). /// public int QueryType { get { return ValidationHelper.GetInteger(GetValue("QueryType"), 0); } set { SetValue("QueryType", value); QueryTypeEnum type = (value == 0) ? QueryTypeEnum.SQLQuery : QueryTypeEnum.StoredProcedure; srcSQL.QueryType = type; } } /// /// Gets or sets complete connection string. /// public string ConnectionString { get { return ValidationHelper.GetString(GetValue("ConnectionString"), null); } set { SetValue("ConnectionString", value); srcSQL.ConnectionString = value; } } /// /// Gets or sets database name. /// public string DatabaseName { get { return ValidationHelper.GetString(GetValue("DatabaseName"), null); } set { SetValue("DatabaseName", value); srcSQL.DatabaseName = value; } } /// /// Gets or sets database server name. /// public string ServerName { get { return ValidationHelper.GetString(GetValue("ServerName"), null); } set { SetValue("ServerName", value); srcSQL.ServerName = value; } } /// /// Gets or sets user name. /// public string UserName { get { return ValidationHelper.GetString(GetValue("UserName"), null); } set { SetValue("UserName", value); srcSQL.UserName = value; } } /// /// Gets or sets password. /// public string Password { get { return ValidationHelper.GetString(GetValue("Password"), null); } set { SetValue("Password", value); srcSQL.Password = value; } } /// /// Gets or sets connection language. /// public string Language { get { return DataHelper.GetNotEmpty(ValidationHelper.GetString(GetValue("Language"), null), "English"); } set { SetValue("Language", value); srcSQL.Language = value; } } /// /// Gets or sets connection timeout (240 seconds by default). /// public int Timeout { get { return ValidationHelper.GetInteger(GetValue("Timeout"), srcSQL.Timeout); } set { SetValue("Timeout", value); srcSQL.Timeout = value; } } #endregion /// /// Content loaded event handler. /// public override void OnContentLoaded() { base.OnContentLoaded(); SetupControl(); } /// /// Initializes the control properties. /// protected void SetupControl() { if (StopProcessing) { // Do nothing } else { // Document properties srcSQL.FilterName = ValidationHelper.GetString(GetValue("WebPartControlID"), ClientID); srcSQL.CacheItemName = CacheItemName; srcSQL.CacheDependencies = CacheDependencies; srcSQL.CacheMinutes = CacheMinutes; srcSQL.AuthenticationMode = (AuthenticationMode == 0) ? SQLServerAuthenticationModeEnum.SQLServerAuthentication : SQLServerAuthenticationModeEnum.WindowsAuthentication; srcSQL.ServerName = ServerName; srcSQL.Password = EncryptionHelper.DecryptData(Password); srcSQL.UserName = UserName; srcSQL.DatabaseName = DatabaseName; srcSQL.QueryType = (QueryType == 0) ? QueryTypeEnum.SQLQuery : QueryTypeEnum.StoredProcedure; srcSQL.QueryText = QueryText; srcSQL.ConnectionString = ConnectionString; srcSQL.Language = Language; srcSQL.Timeout = Timeout; } } /// /// Clears cache. /// public override void ClearCache() { srcSQL.ClearCache(); } }