Пример #1
0
 void WriteJiraEmailToRegistry()
 {
     //if(JiraEmail != null && JiraEmail.Length > 0)
     {
         RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNameJiraEmail, JiraEmail);
     }
 }
Пример #2
0
 void WriteDefaultTemplateToRegistry()
 {
     //if(Default != null && Default.Name.Length > 0)
     {
         RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathTemplates, RegistryOperation.szKeyNameTemplateDefault, DefaultTemplate.Name);
     }
 }
Пример #3
0
        void DeleteJiraTemplateItemFromRegistry(JiraTemplate jiraTemplate)
        {
            if (jiraTemplate == null)
            {
                return;
            }

            RegistryOperation.DeleteRegistrySubKey(RegistryOperation.szAppRegPathTemplates, jiraTemplate.Name);
        }
Пример #4
0
        public DataModel()
        {
            JiraEmail         = RegistryOperation.GetBinaryKeyValueInString(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNameJiraEmail);
            bToEmail          = RegistryOperation.GetBinaryKeyValueInBool(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebToEmail);
            bCcEmail          = RegistryOperation.GetBinaryKeyValueInBool(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebCcEmail);
            bRemoveRecipients = RegistryOperation.GetBinaryKeyValueInBool(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebRemoveRecipients);

            // if we create using public property then it will crash at setter because of null reference.
            _DefaultTemplate = new JiraTemplate();

            if (bToEmail == false && bCcEmail == false)
            {
                bToEmail = true;
                // create registry for next time as well
                RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebToEmail, "1");
            }

            JiraTemplates = new List <JiraTemplate>();
            string[] TemplateSubKeys = RegistryOperation.GetAppSubKeys(RegistryOperation.szAppRegPathTemplates);
            if (TemplateSubKeys != null && TemplateSubKeys.Length > 0)
            {
                string DefaultTemp = RegistryOperation.GetBinaryKeyValueInString(RegistryOperation.szAppRegPathTemplates, RegistryOperation.szKeyNameTemplateDefault);

                foreach (string keyName in TemplateSubKeys)
                {
                    string data = RegistryOperation.GetBinaryKeyValueInString(RegistryOperation.szAppRegPathTemplates + "\\" + keyName, RegistryOperation.szKeyNameTemplateContent);
                    if (data != null && data.Length > 0)
                    {
                        JiraTemplate jt = new JiraTemplate();
                        jt.Name    = keyName;
                        jt.Content = data;
                        JiraTemplates.Add(jt);

                        if (0 == String.Compare(keyName, DefaultTemp, true))
                        {
                            DefaultTemplate = jt;
                        }
                    }
                }
            }
            else
            {
                // create default template and update the registry for next time.
                string szDefaultTemplate = JiraTemplate.GetDefaultTemplateContent();

                RegistryOperation.CreateSubKey(RegistryOperation.szAppRegPathTemplates, RegistryOperation.szSubKeyNameTemplateDefault);
                RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathTemplates + "\\" + RegistryOperation.szSubKeyNameTemplateDefault,
                                                       RegistryOperation.szKeyNameTemplateContent, szDefaultTemplate);

                JiraTemplate jt = new JiraTemplate();
                jt.Name    = RegistryOperation.szSubKeyNameTemplateDefault;
                jt.Content = szDefaultTemplate;
                JiraTemplates.Add(jt);
                DefaultTemplate = jt;
            }
        }
Пример #5
0
        void WriteJiraTemplateItemToRegistry(JiraTemplate jiraTemplate)
        {
            if (jiraTemplate == null)
            {
                return;
            }

            RegistryOperation.CreateSubKey(RegistryOperation.szAppRegPathTemplates, jiraTemplate.Name);
            RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathTemplates + "\\" + jiraTemplate.Name,
                                                   RegistryOperation.szKeyNameTemplateContent, jiraTemplate.Content);
        }
Пример #6
0
 void WritebRemoveRecipientsToRegistry()
 {
     if (bRemoveRecipients)
     {
         RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebRemoveRecipients, "1");
     }
     else
     {
         RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebRemoveRecipients, "0");
     }
 }
Пример #7
0
 void WritebCcEmailToRegistry()
 {
     if (bCcEmail)
     {
         RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebCcEmail, "1");
     }
     else
     {
         RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNamebCcEmail, "0");
     }
 }
Пример #8
0
        public void HandleReplyWithTemplate(JiraTemplate jiraTemplate)
        {
            if (dataModel.JiraEmail == null || dataModel.JiraEmail.Length < 1)
            {
                MessageBox.Show("Invalid Jira Email.\nPlease update email address in Jira Tab.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (jiraTemplate == null)
            {
                // fallback to default
                jiraTemplate = dataModel.DefaultTemplate;
            }

            try
            {
                Outlook._Explorer exp = Globals.ThisAddIn.Application.ActiveExplorer();
                if (exp != null && exp.Selection != null && exp.Selection.Count > 0)
                {
                    foreach (Object item in exp.Selection)
                    {
                        if (item is Outlook._MailItem)
                        {
                            Outlook._MailItem mailItem = (item as Outlook._MailItem);
                            Outlook._MailItem reply    = mailItem.ReplyAll();

                            AddTemplateDataToMailItem(reply, jiraTemplate);
                            reply.Display();
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                // To see this exception: Click on the email folders tree's top node i.e. the one which shows like a startup page
                // and contains Calendar information, tasks and messages overview. After that from ribbon click on the reply button.
                // http://stackoverflow.com/questions/17211827/how-to-check-if-a-vsto-outlook-explorer-object-has-been-closed
                // Ex.Message = "The Explorer has been closed and cannot be used for further operations. Review your code and restart Outlook."
                // Outlook gives valid explorer but selection paramter generates exception.
                //MessageBox.Show(Ex.Message + "\n" + Ex.StackTrace, "Error!!!");
                RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathGeneral, RegistryOperation.szKeyNameLastError,
                                                       Ex.Message.ToString() + "\n" + Ex.StackTrace.ToString());
            }
        }
Пример #9
0
        void WriteJiraTemplateListToRegistry()
        {
            // delete an existing subkey and re-populate from data model
            RegistryOperation.DeleteRegistrySubKey(RegistryOperation.szAppRegPath, RegistryOperation.szSubkeyTemplate);

            // Add all what is in datamodel jira list.
            foreach (JiraTemplate item in JiraTemplates)
            {
                if (
                    item.Name != null && item.Name.Length > 0 &&
                    item.Content != null && item.Content.Length > 0
                    )
                {
                    RegistryOperation.CreateSubKey(RegistryOperation.szAppRegPathTemplates, item.Name);
                    RegistryOperation.CreateBinaryKeyValue(RegistryOperation.szAppRegPathTemplates + "\\" + item.Name,
                                                           RegistryOperation.szKeyNameTemplateContent, item.Content);
                }
            }
        }