private void ProcessStep()
        {
            switch (m_step)
            {
                case Process_CreateDatabase_ENUM.START:
                    m_CreateDataBase_Form.lbl_Message.Text = " Process : Check permissions... ";
                    m_CreateDataBase_Form.lbl_Message.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                    m_CreateDataBase_Form.lbl_Message.Visible = true;
                    m_CreateDataBase_Form.Cursor = Cursors.AppStarting;
                    m_step = Process_CreateDatabase_ENUM.CHECK_PERMISSIONS;
                    break;

                case Process_CreateDatabase_ENUM.CHECK_PERMISSIONS:

                    if (m_CreateDataBase_Form.m_con.CheckPermission_ALTER_ANY_DATABASE())
                    {
                        m_step = Process_CreateDatabase_ENUM.CREATE_DATABASE;
                        m_CreateDataBase_Form.m_bPermissionsOK = true;
                    }
                    else
                    {
                        m_step = Process_CreateDatabase_ENUM.SHOW_NOT_ENOUGH_PERMISSIONS;
                        m_CreateDataBase_Form.m_bPermissionsOK = false;
                    }
                    break;

                case Process_CreateDatabase_ENUM.SHOW_NOT_ENOUGH_PERMISSIONS:
                    DataSet ds = new DataSet();
                    m_CreateDataBase_Form.lbl_Message.Text = " User " + m_CreateDataBase_Form.m_con.UserName + " does not have  permission:'ALTER ANY DATABASE'\n All permissions granted to this\n user are listed in nearby table:";
                    m_CreateDataBase_Form.lbl_Message.Left = 10;
                    m_CreateDataBase_Form.lbl_Message.Top = 10;
                    m_CreateDataBase_Form.lbl_Message.Width = (m_CreateDataBase_Form.Size.Width - 20) / 2;
                    m_CreateDataBase_Form.lbl_Message.Height = (m_CreateDataBase_Form.Size.Height - 100);
                    m_CreateDataBase_Form.lbl_Message.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
                    m_CreateDataBase_Form.lbl_Message.Visible = true;
                    string sql_cmd = @"SELECT permission_name
                                       FROM fn_my_permissions(NULL, 'SERVER');";
                    string csError = "";

                    string saved_DataBaseName = m_CreateDataBase_Form.m_con.DataBase;
                    m_CreateDataBase_Form.m_con.DataBase = "";
                    //m_CreateDataBase_Form.m_con.conData.SetConnectionString();

                    if (m_CreateDataBase_Form.m_con.ReadDataSet(ref ds, sql_cmd, ref csError))
                    {
                        m_CreateDataBase_Form.m_con.DataBase = saved_DataBaseName;
                        //m_CreateDataBase_Form.m_con.conData.SetConnectionString();

                        if (ds.Tables.Count > 0)
                        {
                            m_CreateDataBase_Form.dataGridView_Permissions.DataSource = ds.Tables[0];
                            m_CreateDataBase_Form.dataGridView_Permissions.Update();
                            m_CreateDataBase_Form.dataGridView_Permissions.Visible = true;
                            m_CreateDataBase_Form.dataGridView_Permissions.Left = m_CreateDataBase_Form.lbl_Message.Left + 10 + m_CreateDataBase_Form.lbl_Message.Width;
                            m_CreateDataBase_Form.dataGridView_Permissions.Top = 10;
                            m_CreateDataBase_Form.dataGridView_Permissions.Width = (m_CreateDataBase_Form.Size.Width - 40) / 2 - 30;
                            m_CreateDataBase_Form.dataGridView_Permissions.Height = (m_CreateDataBase_Form.Size.Height - 120);
                            m_CreateDataBase_Form.dataGridView_Permissions.AutoResizeColumns();
                        }
                    }
                    else
                    {
                        m_CreateDataBase_Form.m_con.DataBase = saved_DataBaseName;
                        //m_CreateDataBase_Form.m_con.conData.SetConnectionString();
                    }

                    m_CreateDataBase_Form.btn_CreateDatabase.Visible = false;

                    m_step = Process_CreateDatabase_ENUM.STOP;
                    break;

                case Process_CreateDatabase_ENUM.CREATE_DATABASE:
                    m_CreateDataBase_Form.lbl_Message.Visible = false;
                    m_CreateDataBase_Form.dataGridView_Permissions.Visible = false;
                    m_CreateDataBase_Form.tabControl_CreateDialog.Visible = true;
                    m_CreateDataBase_Form.btn_CreateDatabase.Visible = true;
                    m_step = Process_CreateDatabase_ENUM.STOP_CREATE;
                    break;

                case Process_CreateDatabase_ENUM.STOP_CREATE:
                    break;

                case Process_CreateDatabase_ENUM.STOP:
                    break;
            }
        }
 public Process_CreateDatabase_Timer(CreateDataBase_Form pForm)
 {
     m_CreateDataBase_Form = pForm;
     m_step  = Process_CreateDatabase_ENUM.START;
 }