//Event to Save Users and the corresponding roles //There is no way we can append the current user to the existing users list, we have to save them all once again private void SaveUsers() { Policy[] eachPolicy = new Policy[userpermissionsGridview.Rows.Count]; int i = 0; int j = 0; foreach (DataGridViewRow dgvr in userpermissionsGridview.Rows) { Policy currentPolicy = new Policy(); currentPolicy.GroupUserName = dgvr.Cells[0].Value.ToString(); j = 0; foreach (DataGridViewCell dgvc in dgvr.Cells) { if (dgvc.FormattedValue.ToString() == "True") { j++; } } Role[] roles = new Role[j]; j = 0; foreach (DataGridViewCell dgvc in dgvr.Cells) { Role currentRole = new Role(); if (dgvc.FormattedValue.ToString() == "True") { currentRole.Name = dgvc.OwningColumn.Name; roles[j] = currentRole; j++; } } currentPolicy.Roles = roles; eachPolicy[i] = currentPolicy; i++; } //This method call with save all the users and the corresponding roles to the current report item. m_rs.SetPolicies(m_strPath, eachPolicy); }
//Returns Roles specified in the ReportServer DB public Role[] ReturnRoles() { Role[] roles = new Role[1]; roles = m_rs.ListRoles(SecurityScopeEnum.Catalog); return roles; }