HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSInstall/Controls/WizardSteps/SeparationFinished.ascx.cs
using System;

using CMS.DataEngine;
using CMS.ExtendedControls;
using CMS.Helpers;
using CMS.Base;
using CMS.UIControls;


public partial class CMSInstall_Controls_WizardSteps_SeparationFinished : CMSUserControl
{
    #region "Variables"

    private const string COLLATION_CASE_INSENSITIVE = "SQL_Latin1_General_CP1_CI_AS";
    private ISqlServerCapabilities mSqlServerCapabilities;

    #endregion


    #region "Public properties"

    /// <summary>
    /// Error label.
    /// </summary>
    public LocalizedLabel ErrorLabel
    {
        get
        {
            return lblError;
        }
    }


    /// <summary>
    /// Error label for azure.
    /// </summary>
    public LocalizedLabel AzureErrorLabel
    {
        get
        {
            return lblAzureError;
        }
    }


    /// <summary>
    /// Info label.
    /// </summary>
    public LocalizedLabel InfoLabel
    {
        get
        {
            return lblCompleted;
        }
    }

    /// <summary>
    /// Connection string.
    /// </summary>
    public string ConnectionString
    {
        get;
        set;
    }


    /// <summary>
    /// Database.
    /// </summary>
    public string Database
    {
        get;
        set;
    }


    /// <summary>
    /// Indicates if old database should be deleted completely.
    /// </summary>
    public bool DeleteOldDB
    {
        get
        {
            return chkDeleteOldDB.Checked;
        }
    }


    /// <summary>
    /// Indicates if current process is separation.
    /// </summary>
    public bool IsSeparation
    {
        get;
        set;
    }


    /// <summary>
    /// Returns SQL server capabilities.
    /// </summary>
    private ISqlServerCapabilities SqlServerCapabilities
    {
        get
        {
            return mSqlServerCapabilities ?? (mSqlServerCapabilities = SqlServerCapabilitiesFactory.GetSqlServerCapabilities(ConnectionHelper.GetSqlConnectionString()));
        }
    }

    #endregion


    #region "Page events"

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        plcDeleteOldDB.Visible = !IsSeparation && SqlServerCapabilities.SupportsDatabaseDeletion;
        spanScreenReader.Text = iconHelp.ToolTip = GetString("separationDB.deleteolddbhelp");
    }


    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        if (!String.IsNullOrEmpty(lblAzureError.Text))
        {
            plcAzureError.Visible = true;
            plcContent.Visible = false;
        }
    }

    #endregion


    #region "Methods and event"

    /// <summary>
    /// Change collation clicked.
    /// </summary>
    protected void btnChangeCollation_Click(object sender, EventArgs e)
    {
        DatabaseHelper.ChangeDatabaseCollation(ConnectionString, Database, COLLATION_CASE_INSENSITIVE);
        lblCompleted.ResourceString = "separationDB.OK";
        btnChangeCollation.Visible = false;
    }


    /// <summary>
    /// Display collation dialog.
    /// </summary>
    public void DisplayCollationDialog()
    {
        string collation = DatabaseHelper.GetDatabaseCollation(ConnectionString);
        if (CMSString.Compare(collation, COLLATION_CASE_INSENSITIVE, true) != 0)
        {
            lblChangeCollation.ResourceString = string.Format(ResHelper.GetFileString("separationDB.collation"), collation);
            btnChangeCollation.ResourceString = string.Format(ResHelper.GetFileString("install.changecollation"), COLLATION_CASE_INSENSITIVE);
            plcChangeCollation.Visible = true;
        }
    }

    #endregion
}