File tree Expand file tree Collapse file tree
MyNumberNET_ApiServer/Controllers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -40,13 +40,11 @@ public static int CalculateCheckDigits(int[] number)
4040 throw new MyNumberMalformedException ( "Malformed sequence. Must be 11 digits." ) ;
4141 if ( Array . Exists ( number , n => n < 0 || n > 9 ) )
4242 throw new MyNumberMalformedException ( "All digits must be between 0 and 9." ) ;
43- Array . Reverse ( number ) ;
4443 var sum = 0 ;
4544 for ( var n = 1 ; n < 7 ; n ++ )
46- sum += ( n + 1 ) * number [ n - 1 ] ;
45+ sum += ( n + 1 ) * number [ 11 - n ] ;
4746 for ( var n = 7 ; n < 12 ; n ++ )
48- sum += ( n - 5 ) * number [ n - 1 ] ;
49- Array . Reverse ( number ) ;
47+ sum += ( n - 5 ) * number [ 11 - n ] ;
5048 if ( sum % 11 <= 1 )
5149 return 0 ;
5250 return 11 - sum % 11 ;
Original file line number Diff line number Diff line change @@ -18,6 +18,13 @@ public class MyNumberController : ControllerBase
1818 [ HttpPost ( "verify" ) ]
1919 public ActionResult < bool > Verify ( [ FromBody ] int [ ] number )
2020 {
21+ // Input validation before calling business logic
22+ if ( number == null )
23+ return BadRequest ( "Input array is null." ) ;
24+ if ( number . Length != 12 )
25+ return BadRequest ( "Malformed sequence. Must be 12 digits." ) ;
26+ if ( number . Any ( n => n < 0 || n > 9 ) )
27+ return BadRequest ( "All digits must be between 0 and 9." ) ;
2128 try
2229 {
2330 bool isValid = MyNumber . VerifyNumber ( number ) ;
@@ -37,6 +44,13 @@ public ActionResult<bool> Verify([FromBody] int[] number)
3744 [ HttpPost ( "checkdigit" ) ]
3845 public ActionResult < int > CheckDigit ( [ FromBody ] int [ ] number )
3946 {
47+ // Input validation before calling business logic
48+ if ( number == null )
49+ return BadRequest ( "Input array is null." ) ;
50+ if ( number . Length != 11 )
51+ return BadRequest ( "Malformed sequence. Must be 11 digits." ) ;
52+ if ( number . Any ( n => n < 0 || n > 9 ) )
53+ return BadRequest ( "All digits must be between 0 and 9." ) ;
4054 try
4155 {
4256 int checkDigit = MyNumber . CalculateCheckDigits ( number ) ;
You can’t perform that action at this time.
0 commit comments