private async void Button_Click(object sender, RoutedEventArgs e) { Loading view = new Loading(); try { List <string> toMail, ccMail, bccMail; ItemControlViewModel model = DataContext as ItemControlViewModel; toMail = toMailBox.Text.Split(new char[] { ';' }).Where(x => x != "").ToList(); ccMail = ccMailBox.Text.Split(new char[] { ';' }).Where(x => x != "").ToList(); bccMail = bccMailBox.Text.Split(new char[] { ';' }).Where(x => x != "").ToList(); FileHandler handler = new FileHandler(); string str = await handler.ReadFromInstallationSystem(FileName.Template, Extension.HTML); ItemControlViewModel itemModel = (ItemControlViewModel)DataContext; User requester = await getUser(itemModel.SitObject.RequesterName); User tester = await getUser(itemModel.SitObject.TestersInvolved); UserHelper helper = new UserHelper(); User deployer = await helper.GetUserFromSystem(); str = String.Format(str, "Hi All,", greetingText.Text, DateTime.Parse(itemModel.SitObject.DeploymentWindow).Day + "/", DateTime.Parse(itemModel.SitObject.DeploymentWindow).Month.ToString() + "/" + DateTime.Parse(itemModel.SitObject.DeploymentWindow).Year, DateTime.Parse(itemModel.SitObject.DeploymentWindow).Hour.ToString() + "00", (DateTime.Now.Month >= 4 && DateTime.Now.Month <= 10) ? "CEST" : "CET", (DateTime.Parse(itemModel.SitObject.DeploymentWindow).Hour + 1).ToString() + "00", itemModel.SitObject.Application, itemModel.SitObject.Id, itemModel.SitObject.Project, requester.Email, requester.Name, deployer.Name, deployer.Email, tester.Name, tester.Email, (Header == "Final Mail") ? "Completed successfully." : "Updates to follow soon.", deployer.Name ); DialogHost.OpenDialogCommand.Execute(view, this); EWSClient eWSClient = Application.Current.Properties["ObjEWSClient"] as EWSClient; string subject = itemModel.SitObject.Id + " Notification " + itemModel.SitObject.Project; bool result = await eWSClient.SendMailAsync(toMail, ccMail, bccMail, subject, str); DialogHost.CloseDialogCommand.Execute(this, view); if (result) { Message msg = new Message("Mail Send Successfully"); await DialogHost.Show(msg, "RootDialog", GridDialogHost_DialogOpened, GridDialogHost_DialogClosing); } else { Message msg = new Message("Mail Send Failed"); await DialogHost.Show(msg, "RootDialog", GridDialogHost_DialogOpened, GridDialogHost_DialogClosing); } } catch (Exception ex) { DialogHost.CloseDialogCommand.Execute(this, view); Message msg = new Message(ex.ToString()); await DialogHost.Show(msg, "RootDialog", GridDialogHost_DialogOpened, GridDialogHost_DialogClosing); } }