public void OutlookInsert(OutlookDB row) { using (Models db = new Models()) { Models models = new Models(); db.OutlookDB.Add(row); db.SaveChanges(); } }
public void ReadAnEmail(OutlookDB row) { try { List <string> mailsToBeRead = new List <string>(); OutLookApp app = new OutLookApp(); MicrosoftOutLook.NameSpace outlookNS = app.GetNamespace("MAPI"); MicrosoftOutLook.MAPIFolder inboxFolder = outlookNS.GetDefaultFolder(MicrosoftOutLook.OlDefaultFolders.olFolderInbox); MicrosoftOutLook.Items items = inboxFolder.Items.Restrict("[Unread] = true"); foreach (object mail in items) { if (mail is MicrosoftOutLook.MailItem) { MicrosoftOutLook.MailItem email = (MicrosoftOutLook.MailItem)mail; if (!string.IsNullOrWhiteSpace(row.SearchKey)) { if (!email.Body.Contains(row.SearchKey)) { continue; } } //if (!string.IsNullOrWhiteSpace(row.From) && row.From != email.SenderEmailAddress) //{ // continue; //} //if (!string.IsNullOrWhiteSpace(row.To)) //{ // foreach (MicrosoftOutLook.Recipient recepient in email.Recipients) // { // } //} if (mailsToBeRead.Count > row.UnReadMailCount) { continue; } mailsToBeRead.Add("From:" + email.SenderName + ", Subject:" + email.Subject + ", MailBody:" + email.Body); } } int mailNumber = 1; foreach (string email in mailsToBeRead) { TextToSpeech.Speak("Mail: " + mailNumber + "," + email); mailNumber++; } } catch (Exception ex) { } }
public void OpenComposeEmail(OutlookDB row) { try { string outlookPath = @"C:\Program Files\Microsoft Office\Office15\outlook.exe"; string arguments = "/c ipm.note /m \"" + row.To + @"&subject=" + row.Subject + @"&body=" + row.Body + "\""; System.Diagnostics.Process.Start(outlookPath, arguments); } catch (Exception ex) { } }
private void addSearchCommand_Click(object sender, RoutedEventArgs e) { OutlookDB row = new OutlookDB() { VoiceCommand = voiceCommandTxt.Text, TextCommand = textCommandTxt.Text, // To = ToEmails.Text, Type = commandType.Text, SearchKey = searchKey.Text, // From = fromEmails.Text }; new BaseWindow().OutlookInsert(row); dataGrid.ItemsSource = models.OutlookDB.ToList(); }
private void addComposeMessageCommand_Click(object sender, RoutedEventArgs e) { OutlookDB row = new OutlookDB() { VoiceCommand = voiceCommandTxt.Text, TextCommand = textCommandTxt.Text, Subject = Subject.Text, Body = EmailBody.Text, To = ToEmail.Text, Type = commandType.Text }; new BaseWindow().OutlookInsert(row); dataGrid.ItemsSource = models.OutlookDB.ToList(); }
public void HandleOutlookOperations(int rowID) { var db = new Models(); OutlookDB row = db.OutlookDB.Where(w => w.OutlookID == rowID).FirstOrDefault(); if (row.Type != null) { switch (row.Type) { case "Read Email": ReadAnEmail(row); break; case "Search Email": SearchEmail(row); break; case "Compose Email": OpenComposeEmail(row); break; } } }