Example #1
0
		private static void SetAttributeDefinitionList(IConfig configSection, UsersConfig users) {
			var containsCustomAttributes = configSection.ContainsKey("users", "attributes");
			var attributes = new List<IAttributeDefinition>(users.Attributes);
			if(containsCustomAttributes) {
				attributes.Clear();
			}
			attributes.Attach(users.EmailAttribute, true);
			attributes.Attach(users.CreationDateAttribute, true);
			attributes.Attach(users.LastLoginDateAttribute, true);
			attributes.Attach(users.LastPasswordChangedDateAttribute, true);
			attributes.Attach(users.DescriptionAttribute, true);
			attributes.Attach(users.MembershipAttribute, true);
			if(containsCustomAttributes) {
				var attributeValues = configSection.GetValueArray("users/attributes", "attribute");
				foreach(var attribute in attributeValues) {
					var excludeFromNameSearch = false;
					var attributeKey = String.Format("users/attributes/attribute[@value='{0}']", attribute);
					if(configSection.ContainsAttribute(attributeKey, "excludeFromNameSearch")) {
						excludeFromNameSearch = configSection.GetAttribute<bool>(attributeKey, "excludeFromNameSearch");
					}
					attributes.Attach(attribute, excludeFromNameSearch);
				}
			}
			users.Attributes = attributes;
		}
		private static void SetAttributeDefinitionList(IConfig configSection, GroupsConfig groups) {
			var containsCustomAttributes = configSection.ContainsKey("groups", "attributes");
			var attributes = new List<IAttributeDefinition>(groups.Attributes);
			if(containsCustomAttributes) {
				attributes.Clear();
			}
			attributes.Attach(groups.MembershipAttribute, true);
			if(containsCustomAttributes) {
				var attributeValues = configSection.GetValueArray("groups/attributes", "attribute");
				foreach(var attribute in attributeValues) {
					var excludeFromNameSearch = false;
					var attributeKey = String.Format("groups/attributes/attribute[@value='{0}']", attribute);
					if(configSection.ContainsAttribute(attributeKey, "excludeFromNameSearch")) {
						excludeFromNameSearch = configSection.GetAttribute<bool>(attributeKey, "excludeFromNameSearch");
					}
					attributes.Attach(attribute, excludeFromNameSearch);
				}
			}
			groups.Attributes = attributes;
		}