public static object CreateAccountObject(int version) { object accountObject = null; var internalCounter = version + 1; { const int checkpointVersion = 10; var checkPointModVersion = internalCounter % checkpointVersion; if (checkPointModVersion == 0) { int otherCheckPointsCount = internalCounter / checkpointVersion; var elementsCount = internalCounter / 2; var creditedSum = ComputeSum(20, elementsCount, 20) - ComputeSum(100, otherCheckPointsCount, 100); var debitedSum = ComputeSum(10, elementsCount, 20); var checkpoint = new AccountCheckPoint(creditedSum, debitedSum); accountObject = checkpoint; } else { var modVersion = internalCounter % 2; if (modVersion == 0) { var credited = new AccountCredited(internalCounter * 10, internalCounter % 17); accountObject = credited; } else { var debited = new AccountDebited(internalCounter * 10, internalCounter % 17); accountObject = debited; } } } return(accountObject); }
public static object CreateAccountObject(int version) { object accountObject = null; var internalCounter = version + 1; { const int checkpointVersion = 10; var checkPointModVersion = internalCounter % checkpointVersion; if (checkPointModVersion == 0) { int otherCheckPointsCount = internalCounter / checkpointVersion; var elementsCount = internalCounter / 2; var creditedSum = ComputeSum(20, elementsCount, 20) - ComputeSum(100, otherCheckPointsCount, 100); var debitedSum = ComputeSum(10, elementsCount, 20); var checkpoint = new AccountCheckPoint(creditedSum, debitedSum); accountObject = checkpoint; } else { var modVersion = internalCounter % 2; if (modVersion == 0) { var credited = new AccountCredited(internalCounter * 10, internalCounter % 17); accountObject = credited; } else { var debited = new AccountDebited(internalCounter * 10, internalCounter % 17); accountObject = debited; } } } return accountObject; }