private void ChangeDataContext(object sender, EventArgs e)
        {
            switch (_selectedBaseType)
            {
            case DatabaseTypeEnum.MsSql:
                SelectedViewModel = new MsSqlConnectionViewModel();
                break;

            default:
                SelectedViewModel = null;
                break;
            }
        }
        public void RestoreConnection(bool check)
        {
            if (!check)
            {
                if (MessageBox.Show("You're not connected. Are you want to restore connection?", "Connection",
                                    MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
                {
                    return;
                }
            }

            ConnectionWindow          window = new ConnectionWindow();
            ConnectionWindowViewModel data   = (ConnectionWindowViewModel)window.DataContext;

            data.SelectedBaseType = DbLoader.Connection.Type;

            BaseConnectionViewModel conenctData = data.SelectedViewModel;

            conenctData.CanChange = false;
            conenctData.Server    = DbLoader.Connection.Server;
            conenctData.Port      = DbLoader.Connection.Port;
            conenctData.UserId    = DbLoader.Connection.UserId;

            switch (conenctData)
            {
            case MsSqlConnectionViewModel msSql:
                msSql.IsTcp = ((MsSqlServer)DbLoader.Connection).IsTcp;
                msSql.IntegratedSecurity = ((MsSqlServer)DbLoader.Connection).IntegratedSecurity;
                msSql.Pooling            = ((MsSqlServer)DbLoader.Connection).Pooling;
                msSql.ConnectionTimeout  = ((MsSqlServer)DbLoader.Connection).ConnectionTimeout;
                break;
            }

            if (window.ShowDialog() == true)
            {
                IsConnected = true;
                Root.DbLoader.Connection = data.SelectedViewModel.Connection;
            }
        }
 public ConnectionWindowViewModel()
 {
     SelectedViewModel           = new MsSqlConnectionViewModel();
     SelectedViewModel.CanChange = true;
     DataBaseTypeChanged        += ChangeDataContext;
 }