private async Task <string> WaitForTwoFactorCode(DateTime codeSent, string resendUri) { var returnCode = ""; var starting = DateTime.Now; var startingSending = DateTime.Now; while (returnCode == "") { if (DateTime.Now.Subtract(starting).TotalMinutes >= 5) { returnCode = "000000"; break; } if (DateTime.Now.Subtract(startingSending).TotalMinutes >= 1.5) { var resend = await HttpClient.GetAsync(resendUri).ConfigureAwait(false); var resendString = resend.Content.ReadAsStringAsync().ConfigureAwait(false); startingSending = DateTime.Now; } var mail = await _mailClient.GetTwoFactorCode(codeSent).ConfigureAwait(false); returnCode = mail; await Task.Delay(5000).ConfigureAwait(false); } return(returnCode); }