public long ProvideNewReference(long prevValue, bool failIfMissing = false) { if (_references.TryGetValue(prevValue, out long newValue)) { return(newValue); } if (failIfMissing) { throw new ApplicationException($"Failed to find existing new learner reference for {prevValue}"); } // Find next valid ULN newValue = -1; while (newValue < 0) { newValue = ULN(++_ulnGeneratorCount); } _references.Add(prevValue, newValue); var logEntry = new AnonymiseLogEntry { FieldName = "ULN", OldValue = prevValue.ToString(), NewValue = newValue.ToString() }; _anonymiseLog.Add(logEntry); return(newValue); }
public string ProvideNewReference(string prevValue, bool failIfMissing = false) { if (_references.TryGetValue(prevValue, out string newValue)) { return(newValue); } if (failIfMissing) { throw new ApplicationException($"Failed to find existing new learner reference for {prevValue}"); } newValue = $"{++_lrnGeneratorCount}"; _references.Add(prevValue, newValue); var logEntry = new AnonymiseLogEntry { FieldName = "LearnRefNumber", OldValue = prevValue, NewValue = newValue }; _anonymiseLog.Add(logEntry); return(newValue); }