Пример #1
0
 public void OutlookInsert(OutlookDB row)
 {
     using (Models db = new Models())
     {
         Models models = new Models();
         db.OutlookDB.Add(row);
         db.SaveChanges();
     }
 }
Пример #2
0
        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)
            {
            }
        }
Пример #3
0
 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)
     {
     }
 }
Пример #4
0
        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();
        }
Пример #5
0
        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();
        }
Пример #6
0
        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;
                }
            }
        }