@@ -41,7 +41,7 @@ private Result<ExcelData> ReadInternal(string path)
41
41
var workbook = new XLWorkbook ( path ) ;
42
42
var info = GetInfo ( workbook ) ;
43
43
var sales = GetSalesData ( workbook ) ;
44
- var purchases = GetPurchaseData ( workbook ) ;
44
+ var purchases = GetPurchaseData ( workbook , info ) ;
45
45
46
46
return new Result < ExcelData > ( new ExcelData ( info , sales , purchases ) ) ;
47
47
}
@@ -168,7 +168,7 @@ private static Sales ParseSalesLineItem(IXLRow row, int i)
168
168
} ;
169
169
}
170
170
171
- private static List < Purchases > GetPurchaseData ( IXLWorkbook workbook )
171
+ private static List < Purchases > GetPurchaseData ( IXLWorkbook workbook , Info info )
172
172
{
173
173
var purchaseSheet = workbook . Worksheet ( "PURCHASES" ) ;
174
174
if ( purchaseSheet == null ) throw new ArgumentException ( "PURCHASES sheet not found" ) ;
@@ -178,7 +178,12 @@ private static List<Purchases> GetPurchaseData(IXLWorkbook workbook)
178
178
for ( var i = 2 ; i <= rowCount ; i ++ )
179
179
{
180
180
var row = purchaseSheet . Row ( i ) ;
181
- purchases . Add ( ParsePurchasesLineItem ( row , i ) ) ;
181
+ var purchase = ParsePurchasesLineItem ( row , i ) ;
182
+
183
+ if ( purchase . Tin . Strip ( ) == info . Tin )
184
+ throw new ArgumentException ( $ "TIN in PURCHASES sheet cell B{ i } cannot be the same as the TIN of the taxpayer") ;
185
+
186
+ purchases . Add ( purchase ) ;
182
187
}
183
188
184
189
return purchases ;
0 commit comments