public void PerformManualStep() { _manualStepResult = _game.PerformManualStep(_manualStepResult == null ? null : new VerificationManualStepData { ResultNumber = _verificationResult ?? 0 }); if (_manualStepResult is ManualStepNoVerficationRequiredResult) { _manualStepResult = null; } if (_manualStepResult != null && _manualStepResult.IsVerificationRequired) { _timer.Stop(); Thread.Sleep(100); Console.Clear(); var manualVerificationResult = _manualStepResult as ManualStepVerificationRequiredResult; if (manualVerificationResult == null) { return; } Console.WriteLine("Verification required: {0} + {1} = " , manualVerificationResult.FirstNumber, manualVerificationResult.SecondNumber); int parseResult; var readString = Console.ReadLine(); int.TryParse(readString, out parseResult); _verificationResult = parseResult == 0 ? default(int?) : parseResult; _timer.Start(); } DisplayGameData(GetGameData()); }
private ManualStepResult VerifyManualStep(VerificationManualStepData verificationData) { if (_manualStepVerificationRequiredResult != null) { if (verificationData == null) { return(_manualStepVerificationRequiredResult); } var verficationRequiredResult = _manualStepVerificationRequiredResult as ManualStepVerificationRequiredResult; var result = verficationRequiredResult != null && verficationRequiredResult.FirstNumber + verficationRequiredResult.SecondNumber == verificationData.ResultNumber ? (ManualStepResult) new ManualStepVerifiedResult(true) : InitializeVerificationSteps(); if (!result.IsVerificationRequired) { _manualStepVerificationRequiredResult = null; } else { _manualStepVerificationRequiredResult = result; } return(result); } if (_currentVerificationSteps < _nextVerificationSteps) { _currentVerificationSteps++; } else { _manualStepVerificationRequiredResult = InitializeVerificationSteps(); return(_manualStepVerificationRequiredResult); } return(new ManualStepNoVerficationRequiredResult()); }
public async void PerformManualStep() { try { _manualStepResult = await Task.Run( () => _game.PerformManualStep(_manualStepResult == null ? null : new VerificationManualStepResult { VerificationNumber = _verificationResult ?? 0 })); if (_manualStepResult is NoVerficationRequiredResult) { _manualStepResult = null; } if (_manualStepResult is VerificationRequiredResult) { Thread.Sleep(100); Console.Clear(); var manualVerificationResult = _manualStepResult as VerificationRequiredResult; Console.WriteLine("Verification required: {0} + {1} = " , manualVerificationResult.FirstNumber, manualVerificationResult.SecondNumber); int parseResult; var readString = Console.ReadLine(); int.TryParse(readString, out parseResult); _verificationResult = parseResult == 0 ? default(int?) : parseResult; } } catch (Exception exp) { PrettyConsole.WriteLineColor(ConsoleColor.Red, "Error: {0}", exp); } DisplayGameData(GetGameData()); }