Пример #1
0
        public void ExecPrivilegeOnTable(ObservableCollection <DTO_PrivilegeOnTable> privilegesOnTable,
                                         String username)
        {
            RevokeAllPrivilegesTable(username);

            for (int i = 0; i < privilegesOnTable.Count; i++)
            {
                DTO_PrivilegeOnTable tmp = privilegesOnTable[i];

                String privileges = "";
                if (tmp.IsSelect)
                {
                    privileges = "SELECT";
                    DAO_Privilege.Instance.GrantPrivilegesOnTable(username, privileges, tmp.TableName, tmp.IsSelectGrantable);
                }
                if (tmp.IsUpdate)
                {
                    privileges = "UPDATE";
                    DAO_Privilege.Instance.GrantPrivilegesOnTable(username, privileges, tmp.TableName, tmp.IsUpdateGrantable);
                }
                if (tmp.IsInsert)
                {
                    privileges = "INSERT";
                    DAO_Privilege.Instance.GrantPrivilegesOnTable(username, privileges, tmp.TableName, tmp.IsInsertGrantable);
                }
                if (tmp.IsDelete)
                {
                    privileges = "DELETE";
                    DAO_Privilege.Instance.GrantPrivilegesOnTable(username, privileges, tmp.TableName, tmp.IsDeleteGrantable);
                }
            }
        }
Пример #2
0
        public PrivsColumnWindow(GrantPrivilegePage page, DTO_PrivilegeOnTable privsTable, String username)
        {
            InitializeComponent();
            this.privilegeOnTable = privsTable;
            this.page             = page;
            this.username         = username;

            try
            {
                list = BUS_Privilege.Instance.GetPrivilegesAllColumns(username, privilegeOnTable.TableName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }


            if (list.Count == 0)
            {
                page.OpenSubWindow = false;
                return;
            }
            page.OpenSubWindow = true;
            PrivSColumnDataGrid.ItemsSource = list;
        }
Пример #3
0
        public ObservableCollection <DTO_PrivilegeOnTable> GetPrivilegesAllTables(String username)
        {
            ObservableCollection <DTO_PrivilegeOnTable> result = GetPrivilegesOnTable(username);
            DataTable data = DAO_Table.Instance.GetAllTables();
            bool      flag = false;

            foreach (DataRow row in data.Rows)
            {
                DTO_PrivilegeOnTable tmpObject = new DTO_PrivilegeOnTable();
                tmpObject.TableName = row["OBJECT_NAME"].ToString();
                flag = false;

                for (int i = 0; i < result.Count; i++)
                {
                    if (result[i].TableName.Equals(tmpObject.TableName))
                    {
                        flag = true;
                        break;
                    }
                }

                if (!flag)
                {
                    result.Add(tmpObject);
                }
            }

            return(result);
        }
Пример #4
0
        private void PrivilegeColumnButton_Click(object sender, RoutedEventArgs e)
        {
            DTO_PrivilegeOnTable selectedRow = PrivilegeOnTable_DataGrid.SelectedItem as DTO_PrivilegeOnTable;

            if (selectedRow == null)
            {
                return;
            }
            PrivsColumnWindow privsColumnWindow = new PrivsColumnWindow(this, selectedRow, UsernameTextBox.Text);

            if (OpenSubWindow)
            {
                privsColumnWindow.Show();
            }
            else
            {
                MessageBox.Show("No privleges on columns detected!");
                privsColumnWindow.Close();
            }
            privilegeOnColumns = new List <ObservableCollection <DTO_PrivilegeOnColumn> >();;
        }
Пример #5
0
        public ObservableCollection <DTO_PrivilegeOnTable> GetPrivilegesOnTable(String username)
        {
            //Get all data from DAO Layer
            ObservableCollection <DTO_PrivilegeOnTable> result = new ObservableCollection <DTO_PrivilegeOnTable>();
            DataTable data = DAO_Privilege.Instance.GetPrivilegeOnTable(username);

            foreach (DataRow row in data.Rows)
            {
                bool flag = false;
                DTO_PrivilegeOnTable tmpObject = new DTO_PrivilegeOnTable();

                tmpObject.TableName = row["TABLE_NAME"].ToString();
                tmpObject.Grantor   = row["GRANTOR"].ToString();
                if (result.Count > 0 && result[result.Count - 1].TableName.Equals(tmpObject.TableName))
                {
                    tmpObject = result[result.Count - 1];
                    flag      = true;
                }

                String privilege = row["PRIVILEGE"].ToString();
                String grantable = row["GRANTABLE"].ToString();

                //All default values were false
                if (privilege.Equals("SELECT"))
                {
                    tmpObject.IsSelect = true;
                    if (grantable.Equals("YES"))
                    {
                        tmpObject.IsSelectGrantable = true;
                    }
                }
                else if (privilege.Equals("INSERT"))
                {
                    tmpObject.IsInsert = true;
                    if (grantable.Equals("YES"))
                    {
                        tmpObject.IsInsertGrantable = true;
                    }
                }
                else if (privilege.Equals("UPDATE"))
                {
                    tmpObject.IsUpdate = true;
                    if (grantable.Equals("YES"))
                    {
                        tmpObject.IsUpdateGrantable = true;
                    }
                }
                else
                {
                    tmpObject.IsDelete = true;
                    if (grantable.Equals("YES"))
                    {
                        tmpObject.IsDeleteGrantable = true;
                    }
                }

                if (!flag)
                {
                    result.Add(tmpObject);
                }
            }

            return(result);
        }