public AttributeController(Class @class) { Parent = @class.Parent; Suffix = @class.Suffix; Accessibility = @class.Accessibility; AttributeCondition.AddAttributes(Include, @class?.Attributes?.Include); AttributeCondition.AddAttributes(Exclude, @class?.Attributes?.Exclude); }
public MethodAttributes(Method method) { IncludeConstructor = method.IncludeConstructor; Static = method.Static; Accessibility = method.Accessibility; AttributeCondition.AddAttributes(Include, method?.Attributes?.Include); AttributeCondition.AddAttributes(Exclude, method?.Attributes?.Exclude); }
private string ContinueBuildAttributeConditionWhereClause(IDbCommand command, AttributeCondition condition, bool everyAttribute) { AttributeValueCondition valueCondition; AttributeValueBetweenCondition valueBetweenCondition; AttributeValueInCondition valueInCondition; string nameParameterName = FormatParameterName("@aname{0}"); AddParameter(command, nameParameterName, condition.Name); if ((valueCondition = condition as AttributeValueCondition) != null) { string valueParameterName = FormatParameterName("@avalue{0}"); AddParameter(command, valueParameterName, valueCondition.Value); return(string.Format("i.num in (select a.inum from attribute a where a.name={0} and a.value{1}{2})", nameParameterName, GetValueTestOperator(valueCondition.Test), valueParameterName)); } else if ((condition as AttributeIsNullCondition) != null) { return(string.Format("i.num not in (select a.inum from attribute a where a.name={0})", nameParameterName)); } else if ((condition as AttributeIsNotNullCondition) != null) { return(string.Format("i.num in (select a.inum from attribute a where a.name={0})", nameParameterName)); } else if ((valueBetweenCondition = condition as AttributeValueBetweenCondition) != null) { string lowerValueParameterName = FormatParameterName("@avalue{0}"); string upperValueParameterName = FormatParameterName("@avalue{0}"); AddParameter(command, lowerValueParameterName, valueBetweenCondition.LowerValue); AddParameter(command, upperValueParameterName, valueBetweenCondition.UpperValue); return(string.Format("i.num in (select a.inum from attribute a where a.name={0} and a.value between {1} and {2})", nameParameterName, lowerValueParameterName, upperValueParameterName)); } else if ((valueInCondition = condition as AttributeValueInCondition) != null) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("i.num in (select a.inum from attribute a where a.name={0} and a.value in(", nameParameterName); string[] values = valueInCondition.Values.ToArray(); if (values.Length == 0) { throw new ArgumentException("Value in condition values are empty"); } for (int i = 0; i < values.Length; i++) { if (i != 0) { builder.Append(","); } string valueParameterName = FormatParameterName("@avalue{0}"); AddParameter(command, valueParameterName, values[i]); builder.AppendFormat(valueParameterName); } builder.Append("))"); return(builder.ToString()); } throw new ArgumentException("Condition is not supported"); }
private static string ContinueBuildAttributeConditionWhereClause(AttributeCondition condition, bool everyAttribute) { AttributeValueCondition valueCondition; AttributeIsNullCondition isNullCondition; AttributeIsNotNullCondition isNotNullCondition; AttributeValueBetweenCondition valueBetweenCondition; AttributeValueInCondition valueInCondition; if ((valueCondition = condition as AttributeValueCondition) != null) { return(string.Format("{0}{1}'{2}'", GetConditionAttributeName(valueCondition.Name, everyAttribute), GetValueTestOperator(valueCondition.Test), EncodeConditionAttributeValue(valueCondition.Value))); } else if ((isNullCondition = condition as AttributeIsNullCondition) != null) { return(string.Format("{0} is null", GetConditionAttributeName(isNullCondition.Name, everyAttribute))); } else if ((isNotNullCondition = condition as AttributeIsNotNullCondition) != null) { return(string.Format("{0} is not null", GetConditionAttributeName(isNotNullCondition.Name, everyAttribute))); } else if ((valueBetweenCondition = condition as AttributeValueBetweenCondition) != null) { return(string.Format("{0} between '{1}' and '{2}'", GetConditionAttributeName(valueBetweenCondition.Name, everyAttribute), EncodeConditionAttributeValue(valueBetweenCondition.LowerValue), EncodeConditionAttributeValue(valueBetweenCondition.UpperValue))); } else if ((valueInCondition = condition as AttributeValueInCondition) != null) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("{0} in(", GetConditionAttributeName(valueInCondition.Name, everyAttribute)); bool isFirst = true; foreach (string value in valueInCondition.Values) { if (isFirst) { isFirst = false; } else { builder.Append(","); } builder.AppendFormat("'{0}'", EncodeConditionAttributeValue(value)); } if (isFirst) { throw new ArgumentException("Value in condition values are empty"); } builder.Append(")"); return(builder.ToString()); } throw new ArgumentException("Condition is not supported"); }
public ParameterAttributes(Parameter parameter) { AttributeCondition.AddAttributes(Include, parameter?.Attributes?.Include); AttributeCondition.AddAttributes(Exclude, parameter?.Attributes?.Exclude); }
private static string ContinueBuildAttributeConditionWhereClause(AttributeCondition condition, bool everyAttribute) { AttributeValueCondition valueCondition; AttributeIsNullCondition isNullCondition; AttributeIsNotNullCondition isNotNullCondition; AttributeValueBetweenCondition valueBetweenCondition; AttributeValueInCondition valueInCondition; if ((valueCondition = condition as AttributeValueCondition) != null) { return string.Format("{0}{1}'{2}'", GetConditionAttributeName(valueCondition.Name, everyAttribute), GetValueTestOperator(valueCondition.Test), EncodeConditionAttributeValue(valueCondition.Value)); } else if ((isNullCondition = condition as AttributeIsNullCondition) != null) { return string.Format("{0} is null", GetConditionAttributeName(isNullCondition.Name, everyAttribute)); } else if ((isNotNullCondition = condition as AttributeIsNotNullCondition) != null) { return string.Format("{0} is not null", GetConditionAttributeName(isNotNullCondition.Name, everyAttribute)); } else if ((valueBetweenCondition = condition as AttributeValueBetweenCondition) != null) { return string.Format("{0} between '{1}' and '{2}'", GetConditionAttributeName(valueBetweenCondition.Name, everyAttribute), EncodeConditionAttributeValue(valueBetweenCondition.LowerValue), EncodeConditionAttributeValue(valueBetweenCondition.UpperValue)); } else if ((valueInCondition = condition as AttributeValueInCondition) != null) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("{0} in(", GetConditionAttributeName(valueInCondition.Name, everyAttribute)); bool isFirst = true; foreach (string value in valueInCondition.Values) { if (isFirst) { isFirst = false; } else { builder.Append(","); } builder.AppendFormat("'{0}'", EncodeConditionAttributeValue(value)); } if (isFirst) { throw new ArgumentException("Value in condition values are empty"); } builder.Append(")"); return builder.ToString(); } throw new ArgumentException("Condition is not supported"); }