private char CalculateCheckDigit(string partialFiscalCode) { var temporaryFiscalCode = partialFiscalCode; if (temporaryFiscalCode.Length != 15) { throw new ArgumentException("An error occurred. Invalid length in temporary fiscal code"); } var accumulator = 0; for (var i = 0; i < temporaryFiscalCode.Length; i++) { if ((i + 1) % 2 == 0) { accumulator += CommonDataStructures.EvenPositionMap[temporaryFiscalCode[i]]; } else { accumulator += CommonDataStructures.OddPositionMap[temporaryFiscalCode[i]]; } } return(CommonDataStructures.GetCheckDigit(accumulator)); }
public char CalculateCheckDigit() { string partialCode = GetPartialCode(); var checkDigit = CommonDataStructures.GetCheckDigit(CommonDataStructures.GetAccumulationResult(partialCode)); return(checkDigit); }