private async void WriteOrdersListToFileAndEmail() { var itemsToOrder = StackOfItemsToOrder.Children; int numItems = itemsToOrder.Count; string emailBody = ""; string emailHeading = "<Body style='margin:auto; background:darkgray; height:1000px; width:80%;'><h1 style='background:lightskyblue; Margin:auto; text-align:center'>Please Order the Following:</h1>"; string emailTailing = "</Body>"; for (int i = 0; i <= numItems - 1; i++) { if (((CustomItemToOrder)itemsToOrder[i]).CrossOrTick.Source.ToString() == @"pack://application:,,,/Images/GreenTick.png") { int count = i + 1;//This is a counter used in numbering the items to order within the email. emailBody = emailBody + CreateOrderString((CustomItemToOrder)itemsToOrder[i], ref count); } } emailBody = emailHeading + emailBody + emailTailing; string password = getUserPassword(); emailSendWindowReference = new EmailSend(); emailSendWindowReference.Show(); try { System.Threading.Tasks.Task task = System.Threading.Tasks.Task.Run(() => SendEmail(emailBody, password)); await task; IUpdateEmailProgress emailProgress = emailSendWindowReference; emailProgress.TickEmailComplete(); ClearOrderedItemsFromDbTable(); } catch (Exception e) { switch (e.HResult.ToString()) { case "-2146233088": emailSendWindowReference.emailStatusText.Content = "Sending failed. Did you enter your password in correctly?"; break; default: MessageBox.Show("Sending failed. Unknown Error Code Received: " + e.HResult.ToString()); break; } var image = new BitmapImage(); image.BeginInit(); image.UriSource = new Uri("/Images/RedCross.png", UriKind.Relative); image.EndInit(); ImageBehavior.SetAnimatedSource(emailSendWindowReference.emailSending, image); } }