Raven.Client.UniqueConstraints.UniqueConstraintsStoreListener.BeforeStore C# (CSharp) Method

BeforeStore() public method

public BeforeStore ( string key, object entityInstance, RavenJObject metadata, RavenJObject original ) : bool
key string
entityInstance object
metadata RavenJObject
original RavenJObject
return bool
		public bool BeforeStore(string key, object entityInstance, RavenJObject metadata, RavenJObject original)
		{
			if (metadata[Constants.EnsureUniqueConstraints] != null)
			{
				return true;
			}

			var type = entityInstance.GetType();

			var properties = UniqueConstraintsTypeDictionary.GetProperties(type);

			if (properties != null)
			{
                metadata.Add(Constants.EnsureUniqueConstraints, new RavenJArray(properties.Select(x =>
                    {
                        var att = ((UniqueConstraintAttribute) Attribute.GetCustomAttribute(x, typeof (UniqueConstraintAttribute)));
                        return RavenJObject.FromObject(new { x.Name, att.CaseInsensitive });
                    })));
			}

			return true;
		}
UniqueConstraintsStoreListener