public Role[] GetAllRoles(int siteID) { var roles = RoleInfoProvider.GetAllRoles(siteID) .Select(s => new Role { ID = s.RoleID, Description = s.RoleDisplayName }) .ToArray(); return(roles); }
private void BindRoles() { // Create new datatable DataTable rolesTable = new DataTable(); // Create columns in the datatable rolesTable.Columns.Add(new DataColumn(COLUMN_SELECTED, typeof(Boolean))); rolesTable.Columns.Add(new DataColumn(COLUMN_ROLENAME, typeof(String))); rolesTable.Columns.Add(new DataColumn(COLUMN_ROLEGUID, typeof(Guid))); if (cmbSites.SelectedValue != null) { SiteInfo si = SiteInfo.Provider.Get(cmbSites.SelectedValue.ToString()); if (si != null) { DataSet roles = RoleInfoProvider.GetAllRoles(si.SiteID, false); if (!DataHelper.DataSourceIsEmpty(roles)) { foreach (DataRow role in roles.Tables[0].Rows) { // Determine preselection state string siteName = si.SiteName.ToLowerCSafe(); Guid roleGuid = ValidationHelper.GetGuid(role["RoleGuid"], Guid.Empty); bool checkRole = ImportProfile.Sites.ContainsKey(siteName) && ImportProfile.Sites[siteName].Contains(roleGuid); // Create data for the row object[] dataRow = { checkRole, role["RoleDisplayName"], roleGuid }; // Create new row with the table schema DataRow dr = rolesTable.NewRow(); dr.ItemArray = dataRow; // Add row to table rolesTable.Rows.Add(dr); } } // Apply sorting rolesTable.DefaultView.Sort = COLUMN_ROLENAME; // Bind table as a grid's datasource grdRoles.DataSource = rolesTable; if (!DataHelper.DataSourceIsEmpty(grdRoles.DataSource)) { // Adjust columns DataGridViewColumn columnSelected = grdRoles.Columns[COLUMN_SELECTED]; if (columnSelected != null) { columnSelected.HeaderText = ResHelper.GetString("General_Assign"); columnSelected.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; } DataGridViewColumn columnRoleName = grdRoles.Columns[COLUMN_ROLENAME]; if (columnRoleName != null) { columnRoleName.HeaderText = ResHelper.GetString("General_Role"); columnRoleName.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; columnRoleName.ReadOnly = true; } DataGridViewColumn columnRoleGuid = grdRoles.Columns[COLUMN_ROLEGUID]; if (columnRoleGuid != null) { columnRoleGuid.Visible = false; } } } } }