public ConditionMatchResult MatchesCondition(ConditionMatchResult result, ContextHolder context)
        {
            var c = context.ApplicationLookupContext;

            if (c == null)
            {
                c = new ApplicationLookupContext();
            }
            return(result.AppendMetadataMatch(MetadataId, c.MetadataId).Append(
                       con.Calculate(Schema, c.Schema)).Append(
                       con.Calculate(Mode, c.Mode)).Append(
                       con.Calculate(ParentApplication, c.ParentApplication)).Append(
                       con.Calculate(ParentSchema, c.ParentSchema)).Append(
                       con.Calculate(ParentMode, c.ParentMode)).Append(
                       con.Calculate(AttributeName, c.AttributeName)));
        }
 protected bool Equals(ApplicationLookupContext other)
 {
     return(string.Equals(Mode, other.Mode) && string.Equals(Schema, other.Schema) &&
            string.Equals(ParentApplication, other.ParentApplication) && string.Equals(ParentSchema, other.ParentSchema) &&
            string.Equals(AttributeName, other.AttributeName) && string.Equals(ParentMode, other.ParentMode) && string.Equals(MetadataId, other.MetadataId));
 }