BudgetAnalyser.Engine.Statement.CsvOnDiskStatementModelRepositoryV1.ValidateChecksumIntegrity C# (CSharp) Метод

ValidateChecksumIntegrity() приватный Метод

private ValidateChecksumIntegrity ( TransactionSetDto transactionSet ) : void
transactionSet BudgetAnalyser.Engine.Statement.Data.TransactionSetDto
Результат void
        private void ValidateChecksumIntegrity(TransactionSetDto transactionSet)
        {
            var calcTxnCheckSum = CalculateTransactionCheckSum(transactionSet);
            // Ignore a checksum of 1, this is used as a special case to bypass transaction checksum test. Useful for manual manipulation of the statement csv.
            if (transactionSet.Checksum > 1 && transactionSet.Checksum != calcTxnCheckSum)
            {
                this.logger.LogError(l =>
                    l.Format(
                        "BudgetAnalyser statement file being loaded has an incorrect checksum of: {0}, transactions calculate to: {1}",
                        transactionSet.Checksum, calcTxnCheckSum));
                throw new StatementModelChecksumException(
                    calcTxnCheckSum.ToString(CultureInfo.InvariantCulture),
                    string.Format(
                        CultureInfo.CurrentCulture,
                        "The statement being loaded, does not match the internal checksum. {0} {1}",
                        calcTxnCheckSum,
                        transactionSet.Checksum));
            }
        }