Ejemplo n.º 1
0
        protected void loadData()
        {
            m_serverInstance.RefreshServer();
            _label_Server.Text  = m_serverInstance.ConnectionName;
            _label_Version.Text = m_serverInstance.VersionFriendlyLong;
            _label_Edition.Text = m_serverInstance.Edition;
            //Start-SQLsecure 3.1 (Tushar)--Added support for Azure SQL Database
            if (m_serverInstance.ServerType == ServerType.AzureSQLDatabase)
            {
                _label_Os.Visible = false;
            }
            else
            {
                _label_Os.Text = m_serverInstance.OS;
            }
            //End-SQLsecure 3.1 (Tushar)--Added support for Azure SQL Database

            _label_CurrentSnapshotTime.Text = m_serverInstance.CurrentCollectionTime;
            _label_LastSuccessfulTime.Text  = m_serverInstance.LastCollectionTime;
            _label_NextAuditTime.Text       = m_serverInstance.NextCollectionTime;

            _pictureBox_AuditStatus.Image = null;
            Sql.Snapshot snap = Sql.Snapshot.GetSnapShot(m_serverInstance.LastCollectionSnapshotId);
            if (snap != null)
            {
                _label_Duration.Text    = snap.Duration;
                _label_Objects.Text     = snap.NumObject.ToString("n0");
                _label_Permissions.Text = snap.NumPermission.ToString("n0");
                _label_Logins.Text      = snap.NumLogin.ToString("n0");
                //Start-SQLsecure 3.1 (Tushar)--Added support for Azure SQL Database
                if (m_serverInstance.ServerType == ServerType.AzureSQLDatabase)
                {
                    this._lbl_ND.Text        = "Azure AD accounts";
                    _label_GroupMembers.Text = Convert.ToString(Helper.AzureADUsersAndGroupCount(snap.SnapshotId));
                }
                else
                {
                    this._lbl_ND.Text        = "Windows accounts";
                    _label_GroupMembers.Text = snap.NumWindowsGroupMember.ToString("n0");
                }
                //End-SQLsecure 3.1 (Tushar)--Added support for Azure SQL Database

                if (string.Compare(snap.Status, Utility.Snapshot.StatusSuccessful) == 0)
                {
                    _pictureBox_AuditStatus.Image = AppIcons.AppImage48(AppIcons.EnumImageList48.StatusGood);
                }
                else if (string.Compare(snap.Status, Utility.Snapshot.StatusWarning) == 0)
                {
                    _pictureBox_AuditStatus.Image = AppIcons.AppImage48(AppIcons.EnumImageList48.StatusWarning);
                }
                else
                {
                    _pictureBox_AuditStatus.Image = AppIcons.AppImage48(AppIcons.EnumImageList48.StatusError);
                }

                List <Sql.Database> databases = Sql.Database.GetSnapshotDatabases(snap.SnapshotId);
                if (databases != null)
                {
                    _label_Databases.Text = databases.Count.ToString();
                }
                else
                {
                    _label_Databases.Text = String.Empty;
                }

                List <Sql.WindowsAccount> accounts = Sql.WindowsAccount.GetSuspectAccounts(snap.SnapshotId);
                //Start-SQLsecure 3.1 (Tushar)--Added support for Azure SQL Database
                if (m_serverInstance.ServerType != ServerType.AzureSQLDatabase)
                {
                    label5.Visible = true;
                    if (accounts != null)
                    {
                        int wellknownaccounts = 0;
                        foreach (Sql.WindowsAccount acct in accounts)
                        {
                            wellknownaccounts += (acct.AccountType == Sql.WindowsAccount.Type.WellKnownGroup) ? 1 : 0;
                        }
                        _label_WellKnownGroups.Text = wellknownaccounts.ToString("n0");
                    }
                    else
                    {
                        _label_WellKnownGroups.Text = String.Empty;
                    }
                }
                else
                {
                    label5.Visible = false;
                    _label_WellKnownGroups.Visible = false;
                }

                if (m_serverInstance.ServerType == ServerType.AzureSQLDatabase)
                {
                    _lbl_WindowsOS.Visible = false;
                }
                else
                {
                    _lbl_WindowsOS.Visible = true;
                }
                //End-SQLsecure 3.1 (Tushar)--Added support for Azure SQL Database
            }
            else
            {
                _label_Duration.Text                                =
                    _label_Objects.Text                             =
                        _label_Permissions.Text                     =
                            _label_Logins.Text                      =
                                _label_GroupMembers.Text            =
                                    _label_Databases.Text           =
                                        _label_WellKnownGroups.Text = String.Empty;
            }
        }