Skip to content

Commit 555ac79

Browse files
authored
Remove obsolete IValueConditionNodes and WithPriority() (#132)
* Removed obsolete IValueConditionNodes * Refactored code * Removed obsolete method WithPriority() * Completed last commit
1 parent 05191b6 commit 555ac79

17 files changed

Lines changed: 103 additions & 426 deletions

File tree

src/Rules.Framework.Providers.MongoDb/RuleFactory.cs

Lines changed: 9 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -75,25 +75,17 @@ public RuleDataModel CreateRule(Rule<TContentType, TConditionType> rule)
7575
return ruleDataModel;
7676
}
7777

78-
private static ValueConditionNodeDataModel ConvertBooleanConditionNode(BooleanConditionNode<TConditionType> booleanConditionNode) => new ValueConditionNodeDataModel
79-
{
80-
ConditionType = Convert.ToString(booleanConditionNode.ConditionType, CultureInfo.InvariantCulture),
81-
LogicalOperator = LogicalOperators.Eval,
82-
DataType = booleanConditionNode.DataType,
83-
Operand = booleanConditionNode.Operand,
84-
Operator = booleanConditionNode.Operator,
85-
};
86-
87-
private static IConditionNode<TConditionType> ConvertConditionNode(IConditionNodeBuilder<TConditionType> conditionNodeBuilder, ConditionNodeDataModel conditionNodeDataModel)
78+
private static IConditionNode<TConditionType> ConvertConditionNode(
79+
IConditionNodeBuilder<TConditionType> conditionNodeBuilder, ConditionNodeDataModel conditionNodeDataModel)
8880
{
8981
if (conditionNodeDataModel.LogicalOperator == LogicalOperators.Eval)
9082
{
9183
return CreateValueConditionNode(conditionNodeBuilder, conditionNodeDataModel as ValueConditionNodeDataModel);
9284
}
9385

94-
ComposedConditionNodeDataModel composedConditionNodeDataModel = conditionNodeDataModel as ComposedConditionNodeDataModel;
86+
var composedConditionNodeDataModel = conditionNodeDataModel as ComposedConditionNodeDataModel;
9587

96-
IComposedConditionNodeBuilder<TConditionType> composedConditionNodeBuilder = conditionNodeBuilder.AsComposed()
88+
var composedConditionNodeBuilder = conditionNodeBuilder.AsComposed()
9789
.WithLogicalOperator(composedConditionNodeDataModel.LogicalOperator);
9890

9991
foreach (ConditionNodeDataModel child in composedConditionNodeDataModel.ChildConditionNodes)
@@ -104,33 +96,6 @@ private static IConditionNode<TConditionType> ConvertConditionNode(IConditionNod
10496
return composedConditionNodeBuilder.Build();
10597
}
10698

107-
private static ValueConditionNodeDataModel ConvertDecimalConditionNode(DecimalConditionNode<TConditionType> decimalConditionNode) => new ValueConditionNodeDataModel
108-
{
109-
ConditionType = Convert.ToString(decimalConditionNode.ConditionType, CultureInfo.InvariantCulture),
110-
LogicalOperator = LogicalOperators.Eval,
111-
DataType = decimalConditionNode.DataType,
112-
Operand = decimalConditionNode.Operand,
113-
Operator = decimalConditionNode.Operator,
114-
};
115-
116-
private static ValueConditionNodeDataModel ConvertIntegerConditionNode(IntegerConditionNode<TConditionType> integerConditionNode) => new ValueConditionNodeDataModel
117-
{
118-
ConditionType = Convert.ToString(integerConditionNode.ConditionType, CultureInfo.InvariantCulture),
119-
LogicalOperator = LogicalOperators.Eval,
120-
DataType = integerConditionNode.DataType,
121-
Operand = integerConditionNode.Operand,
122-
Operator = integerConditionNode.Operator,
123-
};
124-
125-
private static ValueConditionNodeDataModel ConvertStringConditionNode(StringConditionNode<TConditionType> stringConditionNode) => new ValueConditionNodeDataModel
126-
{
127-
ConditionType = Convert.ToString(stringConditionNode.ConditionType, CultureInfo.InvariantCulture),
128-
LogicalOperator = LogicalOperators.Eval,
129-
DataType = stringConditionNode.DataType,
130-
Operand = stringConditionNode.Operand,
131-
Operator = stringConditionNode.Operator,
132-
};
133-
13499
private static ValueConditionNodeDataModel ConvertValueConditionNode(ValueConditionNode<TConditionType> valueConditionNode) => new ValueConditionNodeDataModel
135100
{
136101
ConditionType = Convert.ToString(valueConditionNode.ConditionType, CultureInfo.InvariantCulture),
@@ -198,8 +163,9 @@ private static object Parse(string value, Type type)
198163

199164
private ConditionNodeDataModel ConvertComposedConditionNode(ComposedConditionNode<TConditionType> composedConditionNode)
200165
{
201-
List<ConditionNodeDataModel> conditionNodeDataModels = new List<ConditionNodeDataModel>(composedConditionNode.ChildConditionNodes.Count());
202-
foreach (IConditionNode<TConditionType> child in composedConditionNode.ChildConditionNodes)
166+
var conditionNodeDataModels = new List<ConditionNodeDataModel>(composedConditionNode.ChildConditionNodes.Count());
167+
168+
foreach (var child in composedConditionNode.ChildConditionNodes)
203169
{
204170
conditionNodeDataModels.Add(this.ConvertConditionNode(child));
205171
}
@@ -215,19 +181,10 @@ private ConditionNodeDataModel ConvertConditionNode(IConditionNode<TConditionTyp
215181
{
216182
if (conditionNode.LogicalOperator == LogicalOperators.Eval)
217183
{
218-
return conditionNode switch
219-
{
220-
BooleanConditionNode<TConditionType> booleanConditionNode => ConvertBooleanConditionNode(booleanConditionNode),
221-
DecimalConditionNode<TConditionType> decimalConditionNode => ConvertDecimalConditionNode(decimalConditionNode),
222-
IntegerConditionNode<TConditionType> integerConditionNode => ConvertIntegerConditionNode(integerConditionNode),
223-
StringConditionNode<TConditionType> stringConditionNode => ConvertStringConditionNode(stringConditionNode),
224-
ValueConditionNode<TConditionType> valueConditionNode => ConvertValueConditionNode(valueConditionNode),
225-
_ => throw new NotSupportedException($"Unsupported value condition node type: {conditionNode.GetType().FullName}."),
226-
};
184+
return ConvertValueConditionNode(conditionNode as ValueConditionNode<TConditionType>);
227185
}
228186

229-
ComposedConditionNode<TConditionType> composedConditionNode = conditionNode as ComposedConditionNode<TConditionType>;
230-
return ConvertComposedConditionNode(composedConditionNode);
187+
return ConvertComposedConditionNode(conditionNode as ComposedConditionNode<TConditionType>);
231188
}
232189
}
233190
}

src/Rules.Framework/Builder/IRuleBuilder.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,5 @@ public interface IRuleBuilder<TContentType, TConditionType>
6060
/// <param name="name">The name.</param>
6161
/// <returns></returns>
6262
IRuleBuilder<TContentType, TConditionType> WithName(string name);
63-
64-
/// <summary>
65-
/// Sets the new rule with the specified priority.
66-
/// </summary>
67-
/// <param name="priority">The priority.</param>
68-
/// <returns></returns>
69-
[Obsolete("This method is obsolete and will be removed on a future release. " +
70-
"Please use RuleAddPriorityOption.ByPriorityNumber(number) instead if you are adding a new rule or use Priority property if updating.")]
71-
IRuleBuilder<TContentType, TConditionType> WithPriority(int priority);
7263
}
7364
}

src/Rules.Framework/Builder/RuleBuilder.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,5 @@ public IRuleBuilder<TContentType, TConditionType> WithName(string name)
8282

8383
return this;
8484
}
85-
86-
[Obsolete("This method is obsolete and will be removed on a future release. " +
87-
"Please use RuleAddPriorityOption.ByPriorityNumber(number) instead if you are adding a new rule or use Priority property if updating.")]
88-
public IRuleBuilder<TContentType, TConditionType> WithPriority(int priority)
89-
{
90-
this.priority = priority;
91-
92-
return this;
93-
}
9485
}
9586
}

src/Rules.Framework/Core/ConditionNodes/BooleanConditionNode.cs

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/Rules.Framework/Core/ConditionNodes/DecimalConditionNode.cs

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/Rules.Framework/Core/ConditionNodes/IValueConditionNode.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ namespace Rules.Framework.Core.ConditionNodes
33
/// <summary>
44
/// Defines the interface contract for a condition node based on a value comparison.
55
/// </summary>
6-
/// <typeparam name="TConditionType">The condition type that allows to filter rules based on a set of conditions.</typeparam>
6+
/// <typeparam name="TConditionType">
7+
/// The condition type that allows to filter rules based on a set of conditions.
8+
/// </typeparam>
79
public interface IValueConditionNode<TConditionType> : IConditionNode<TConditionType>
810
{
911
/// <summary>
@@ -16,6 +18,11 @@ public interface IValueConditionNode<TConditionType> : IConditionNode<TCondition
1618
/// </summary>
1719
DataTypes DataType { get; }
1820

21+
/// <summary>
22+
/// Gets the condition's operand.
23+
/// </summary>
24+
public object Operand { get; }
25+
1926
/// <summary>
2027
/// Gets the condition node operator.
2128
/// </summary>

src/Rules.Framework/Core/ConditionNodes/IntegerConditionNode.cs

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/Rules.Framework/Core/ConditionNodes/StringConditionNode.cs

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/Rules.Framework/Core/ConditionNodes/ValueConditionNodeTemplate.cs

Lines changed: 0 additions & 60 deletions
This file was deleted.

0 commit comments

Comments
 (0)