Esempio n. 1
0
        public static void getNextItemFromConversation(object email, Conversation conv, String category)
        {
            SimpleItems items = conv.GetChildren(email);

            if (items.Count > 0)
            {
                foreach (object myItem in items)
                {
                    if (myItem is MailItem)
                    {
                        MailItem mailItem           = myItem as MailItem;
                        string   existingCategories = mailItem.Categories;
                        if (string.IsNullOrEmpty(existingCategories))
                        {
                            mailItem.Categories = category;
                        }
                        else
                        {
                            mailItem.Categories = existingCategories + ", " + category;
                        }
                        mailItem.Categories = RemoveUnnecessaryCategories(mailItem.Categories, category);
                        mailItem.Save();
                    }
                    getNextItemFromConversation(myItem, conv, category);
                }
            }
        }
Esempio n. 2
0
        public static void oznaczCalaKonwersacjeKategoria(MailItem email, string category)
        {
            Conversation conv        = email.GetConversation();
            SimpleItems  simpleItems = conv.GetRootItems();

            foreach (object item in simpleItems)
            {
                if (item is MailItem)
                {
                    MailItem mail = item as MailItem;
                    string   existingCategories = mail.Categories;
                    if (string.IsNullOrEmpty(existingCategories))
                    {
                        mail.Categories = category;
                    }
                    else
                    {
                        mail.Categories = existingCategories + ", " + category;
                    }
                    mail.Categories = RemoveUnnecessaryCategories(mail.Categories, category);
                    mail.Save();
                }

                getNextItemFromConversation(item, conv, category);
            }
        }
Esempio n. 3
0
        public static void EnumerateConversation(object item, Conversation conversation)
        {
            SimpleItems items      = conversation.GetChildren(item);
            bool        isTemplate = false;

            if (items.Count > 0)
            {
                foreach (object myItem in items)
                {
                    if (myItem is MailItem)
                    {
                        Main.counter++;
                        MailItem mailItem      = myItem as MailItem;
                        bool     checkTemplate = checkTemplateConversation(mailItem);

                        //DO TESTOWANIA

                        /*Folder inFolder = mailItem.Parent as Folder;
                         * string msg = mailItem.Subject + " in folder " + inFolder.Name + " Sender: " + mailItem.SenderName + " Date: " + mailItem.ReceivedTime;*/
                        /*MessageBox.Show(counter + ". " + msg +
                         *  "\nTemplate was sent: " + isTemplate +
                         *  "\nTemplate was filled: " + checkTemplate);*/
                        if (checkIfTemplateWasSend)
                        {
                            isTemplate = true;
                        }
                        if (checkTemplate)
                        {
                            checkIfFitToTemplate = checkTemplate;
                        }
                    }
                    EnumerateConversation(myItem, conversation);
                }
            }
        }
        void EnumerateConversation(object item, Outlook.Conversation conversation, int i, List <bool> categoryList, ref bool correctCategory)
        {
            SimpleItems items = conversation.GetChildren(item);

            if (items.Count > 0)
            {
                foreach (object myItem in items)
                {
                    if (myItem is Outlook.MailItem)
                    {
                        MailItem mailItem = myItem as MailItem;
                        Folder   inFolder = mailItem.Parent as Folder;
                        string   msg      = mailItem.Subject + " in folder " + inFolder.Name + " Sender: " + mailItem.SenderName + " Date: " + mailItem.ReceivedTime;
                        if (i == 0)
                        {
                            if (mailItem.ReceivedTime > getInflowDate().AddDays(-7) &&
                                mailItem.SenderName.Equals(adminMail))
                            {
                                msg            += " ++correctCategory++";
                                correctCategory = true;
                            }
                            if (mailItem.ReceivedTime > getInflowDate())
                            {
                                msg            += " TYP: INFLOW";
                                categoryList[0] = true;
                            }
                        }
                        else
                        {
                            if (mailItem.ReceivedTime > getInflowDate().AddDays(-7) &&
                                mailItem.SenderName.Equals(adminMail))
                            {
                                msg            += " ++correctCategory++";
                                correctCategory = true;
                            }
                            if (mailItem.SenderName.Equals(adminMail) && mailItem.ReceivedTime > getInflowDate())
                            {
                                msg            += " TYP: IN HANDS";
                                categoryList[1] = true;
                            }
                        }

                        Debug.WriteLine(msg);
                        OurDebug.AppendInfo(msg);
                        i++;
                    }

                    EnumerateConversation(myItem, conversation, i, categoryList, ref correctCategory);
                }
            }
        }
Esempio n. 5
0
        public static void check(MailItem newEmail)
        {
            try
            {
                Conversation conv        = newEmail.GetConversation();
                SimpleItems  simpleItems = conv.GetRootItems();
                //bool isTemplate = false;

                foreach (object item in simpleItems)
                {
                    try
                    {
                        if (item is MailItem)
                        {
                            Main.counter++;
                            MailItem mail          = item as MailItem;
                            bool     checkTemplate = checkTemplateConversation(mail);

                            //DO TESTOWANIA

                            /*Folder inFolder = mail.Parent as Folder;
                             * string msg = mail.Subject + " in folder " + inFolder.Name + " Sender: " + mail.SenderName + " Date: " + mail.ReceivedTime;*/
                            /*MessageBox.Show(counter + ". " + msg +
                             *  "\nTemplate was sent: " + isTemplate +
                             *  "\nTemplate was filled: " + checkTemplate);*/
                            /*if (checkIfTemplateWasSend)
                             *  isTemplate = true;*/
                            if (checkTemplate)
                            {
                                checkIfFitToTemplate = checkTemplate;
                            }
                        }
                        EnumerateConversation(item, conv);
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
            } catch (Exception ex)
            {
                MessageBox.Show("Exception in check: \n" + ex.Message);
            }
        }
        public List <bool> selectCorrectEmailType(MailItem newEmail)
        {
            try
            {
                bool        correctCategory = false;
                List <bool> categoryList    = new List <bool>();
                categoryList.Add(false);
                categoryList.Add(false);
                categoryList.Add(false);
                int i = 0;

                Conversation conv = newEmail.GetConversation();
                Debug.WriteLine("Conversation Items from Root:");
                SimpleItems simpleItems = conv.GetRootItems();

                foreach (object item in simpleItems)
                {
                    try
                    {
                        if (item is MailItem)
                        {
                            MailItem mail     = item as MailItem;
                            Folder   inFolder = mail.Parent as Folder;
                            string   msg      = mail.Subject + " in folder " + inFolder.Name + " Sender: " + mail.SenderName + " Date: " + mail.ReceivedTime;
                            if (mail.ReceivedTime > getInflowDate().AddDays(-7) && mail.SenderName.Equals(adminMail))
                            {
                                msg            += " ++correctCategory++";
                                correctCategory = true;
                            }
                            if (mail.ReceivedTime > getInflowDate())
                            {
                                msg            += " TYP: INFLOW";
                                categoryList[0] = true;
                            }
                            if (mail.SenderName.Equals(adminMail) && mail.ReceivedTime > getInflowDate())
                            {
                                msg            += " TYP: IN HANDS";
                                categoryList[1] = true;
                            }
                            Debug.WriteLine(msg);
                            OurDebug.AppendInfo(msg);
                            i++;
                        }
                        EnumerateConversation(item, conv, i, categoryList, ref correctCategory);
                    }
                    catch (Exception e)
                    {
                        Debug.WriteLine("!!!!!!!!************ERROR***********!!!!!!!!!!\n", "Exception in read children and set categories");
                        OurDebug.AppendInfo("Exception in read children and set categories" + e.StackTrace);
                    }
                }
                if (categoryList[0] || categoryList[1])
                {
                    Debug.WriteLine("INFLOW: " + categoryList[0] + " INHANDS: " + categoryList[1] + " OUTFLOW: " + categoryList[2] + " correctCategory: " + correctCategory);
                    Debug.WriteLine("----------------------------------------------");
                    OurDebug.AppendInfo("INFLOW: " + categoryList[0] + " INHANDS: " + categoryList[1] + " OUTFLOW: " + categoryList[2] + " correctCategory: " + correctCategory);
                    OurDebug.AppendInfo("----------------------------------------------");
                    return(categoryList);
                }
                if ((!categoryList[0] && !categoryList[1]) && correctCategory)
                {
                    categoryList[2] = true;
                }

                Debug.WriteLine("INFLOW: " + categoryList[0] + " INHANDS: " + categoryList[1] + " OUTFLOW: " + categoryList[2] + " correctCategory: " + correctCategory);
                Debug.WriteLine("----------------------------------------------");
                OurDebug.AppendInfo("INFLOW: " + categoryList[0] + " INHANDS: " + categoryList[1] + " OUTFLOW: " + categoryList[2] + " correctCategory: " + correctCategory);
                OurDebug.AppendInfo("----------------------------------------------");

                return(categoryList);
            }
            catch (Exception e)
            {
                OurDebug.AppendInfo("!!!!!!!!************ERROR***********!!!!!!!!!!\n", "Blad w liczbie konwersacji; funkcja getConversationAmount()\n", e.Message, "\n", e.StackTrace);
                Debug.WriteLine("Blad w liczbie konwersacji; funkcja getConversationAmount()");
                return(null);
            }
        }