using (var timeout = Task.Delay(TimeSpan.FromMinutes(TIMEOUT_MAIL_WAIT_m)))
{
while (timeout.IsCompleted is false)
{
string filter = $"receivedDateTime ge {DateTime.UtcNow:yyyy-MM-ddTHH:mm:ssZ} and from/emailAddress/address eq '{emailAddress}'";
var messages = await graphClient.Users[config.UserMailAddress].MailFolders.Inbox.Messages.Request().Filter(filter).GetAsync();
foreach (var message in messages)
{
Console.WriteLine($"From: {message.From.EmailAddress.Address}, Subject: {message.Subject}");
}
if (Task.WhenAny(Task.Delay(TimeSpan.FromMinutes(1)), timeout) == timeout)
{
throw new TimeoutException("damn");
}
}
}
using (var timeout = Task.Delay(TimeSpan.FromMinutes(TIMEOUT_MAIL_WAIT_m)))
{
while (timeout.IsCompleted is false)
{
string filter = $"receivedDateTime ge {DateTime.UtcNow:yyyy-MM-ddTHH:mm:ssZ} and from/emailAddress/address eq '{emailAddress}'";
var messages = await graphClient.Users[config.UserMailAddress].MailFolders.Inbox.Messages.Request().Filter(filter).GetAsync();
foreach (var message in messages)
{
Console.WriteLine($"From: {message.From.EmailAddress.Address}, Subject: {message.Subject}");
}
if (Task.WhenAny(Task.Delay(TimeSpan.FromMinutes(1)), timeout) == timeout)
{
throw new TimeoutException("damn");
}
}
}