/// <summary> /// Check Roles in CheckedListBox from given User. /// </summary> private void CheckRolesForSelectedUser(ModelSystemUserWithRoles parsedUserRoles) { // Clear Roles CheckedListBox this.CLB_Roles.ClearAllSelections(); // Check each Role foreach (var role in parsedUserRoles.Roles) { var roleIndex = this.Roles.GetIndexOfRole(role); // Check Role this.CLB_Roles.SetItemCheckState(roleIndex, CheckState.Checked); } }
/// <summary> /// Pobierz dane dla tabeli Entity Permisiions z CRM. /// </summary> public ICollection <DataRow> GetDataRowCollection(ModelSystemUserWithRoles user, List <EntityMetadata> metadata) { List <DataRow> result = new List <DataRow>(); Dictionary <ModelRole, List <ModelRolePrivilege> > LoadedPrivileges = new Dictionary <ModelRole, List <ModelRolePrivilege> >(); foreach (var role in user.Roles) { var rolePrivileges = GetRolePrivileges(role); LoadedPrivileges.Add(role, rolePrivileges); } // For each Entity foreach (EntityMetadata entity in metadata) { if (user.Roles.Count == 0) { continue; } foreach (var privilege in LoadedPrivileges) { DataRow dataRow = new DataRow() { EntityName = entity.DisplayName.UserLocalizedLabel.Label, EntityLogicalName = entity.LogicalName, Role = privilege.Key.Name, Read = GetPrivilegeRange(entity, privilege, PrivilegeType.Read), Write = GetPrivilegeRange(entity, privilege, PrivilegeType.Write), Append = GetPrivilegeRange(entity, privilege, PrivilegeType.Append), AppendTo = GetPrivilegeRange(entity, privilege, PrivilegeType.AppendTo), Assign = GetPrivilegeRange(entity, privilege, PrivilegeType.Assign), Delete = GetPrivilegeRange(entity, privilege, PrivilegeType.Delete), Share = GetPrivilegeRange(entity, privilege, PrivilegeType.Share), }; result.Add(dataRow); } } return(result); }
/// <summary> /// Parse current <see cref="EntityCollection"/> to <see cref="ModelSystemUserWithRoles"/>. /// </summary> public static ModelSystemUserWithRoles ToSystemModelWithRoles(this EntityCollection entities) { // Initialize new object var userWithRoles = new ModelSystemUserWithRoles() { SystemUser = null, Roles = new List <ModelRole>() }; // Parse Roles and add them to List foreach (var entity in entities.Entities) { // Set User if null if (userWithRoles.SystemUser == null) { userWithRoles.SystemUser = entity.ToSystemUser(); } // Add Role to List var role = entity.ToRetrievedRole(); userWithRoles.Roles.Add(role); } return(userWithRoles); }