44using SharedKernel . ValidatorAndMediatR . Validators . Files ;
55
66namespace SharedKernel . ValidatorAndMediatR . Validators ;
7+
78public sealed class CommissionRuleValidator < T > : PropertyValidator < T , CommissionRule ? >
89{
910 public override string Name => "CommissionRuleValidator" ;
@@ -16,8 +17,8 @@ public override bool IsValid(ValidationContext<T> context, CommissionRule? rule)
1617 return false ;
1718 }
1819
19- if ( rule . CommissionRangeConfigs . Any (
20- r => r is { Type : CommissionType . Percentage , CommissionAmount : < - 10 or > 10 } ) )
20+ if ( rule . CommissionRangeConfigs . Any ( r =>
21+ r is { Type : CommissionType . Percentage , CommissionAmount : < - 10 or > 10 } ) )
2122 {
2223 context . AddFailure (
2324 "For 'Percentage' CommissionType, the CommissionAmount should be between -10 and 10. Commissions over 1000% are not allowed." ) ;
@@ -32,21 +33,19 @@ public override bool IsValid(ValidationContext<T> context, CommissionRule? rule)
3233 return false ;
3334 }
3435
35- if ( rule . CommissionRangeConfigs [ 0 ] . MaxCommission != 0 && rule . CommissionRangeConfigs [ 0 ] . MaxCommission <
36+ if ( rule . CommissionRangeConfigs [ 0 ] . MaxCommission == 0 || rule . CommissionRangeConfigs [ 0 ] . MaxCommission >=
3637 rule . CommissionRangeConfigs [ 0 ] . MinCommission )
3738 {
38- context . AddFailure ( "MaxCommission should be greater than or equal to MinCommission." ) ;
39- return false ;
39+ return true ; //check
4040 }
4141
42- return true ; //check
42+ context . AddFailure ( "MaxCommission should be greater than or equal to MinCommission." ) ;
43+ return false ;
4344 }
44- else
45- {
46- var rangeValidator = new CommissionRangeValidator < T > ( ) ;
47- var rangeValidatorResult = rangeValidator . IsValid ( context , rule ) ;
4845
49- return true && rangeValidatorResult ;
50- }
46+ var rangeValidator = new CommissionRangeValidator < T > ( ) ;
47+ var rangeValidatorResult = rangeValidator . IsValid ( context , rule ) ;
48+
49+ return rangeValidatorResult ;
5150 }
52- }
51+ }
0 commit comments