public async Task <List <SalesOrder> > GetSalesOrdersAsync() { var folderId = Settings.Default.SalesOrderFolderId; var allMail = await Task.Factory.StartNew(() => MailProvider.GetMail(folderId)); var salesOrders = new List <SalesOrder>(allMail.Count); foreach (var mail in allMail) { var salesOrder = await GenerateSalesOrderFromMail(mail); salesOrders.Add(salesOrder); } return(salesOrders); }