Exemplo n.º 1
0
 public void ResumeCheckingJira(object Sender, EventArgs e)
 {
     if (jiraCheckingState == JiraCheckingState.FailedLogin)
     {
         jiraLogin.Show();
     }
     else if (jiraCheckingState == JiraCheckingState.LostInternet)
     {
         if (Program.CheckForInternetConnection())
         {
             JiraTicketChecker.Enabled = true;
             jiraCheckingState         = JiraCheckingState.Checking;
         }
         else
         {
             jiraCheckingState = JiraCheckingState.LostInternet;
             ToastNotification("Lost Internet Connection", "Cannot connect to the internet. Unable resume checking Jira", 5, FormAnimator.AnimationMethod.Slide, Directions[Setting.Value.Notification_Direction]);
         }
     }
     else
     {
         JiraTicketChecker.Enabled = true;
         jiraCheckingState         = JiraCheckingState.Checking;
     }
 }
Exemplo n.º 2
0
        async void JiraCheck(bool loop = false)
        {
            if (relogin && JiraChecker.JiraFailCount > 3 && Setting.Value.Jira_Username != "" && Setting.Value.Jira_Username != "!" && JiraPassword != null)
            {
                _Jira = Jira.CreateRestClient(Setting.Value.Jira_Link, Setting.Value.Jira_Username, Encryption.Helper.ConvertToUnsecureString(JiraPassword), new JiraRestClientSettings()
                {
                    EnableRequestTrace = true
                });
                relogin = false;
                jiraBrowserToolStripMenuItem.Enabled = true;
            }
            _Jira.Issues.MaxIssuesPerRequest = 5;
            try
            {
                IEnumerable <Issue> jiraIssues = await _Jira.Issues.GetIssuesFromJqlAsync("project = LAC AND resolution = unresolved AND assignee is empty");

                jiraBrowserToolStripMenuItem.Enabled = true;
                foreach (var issue in jiraIssues)
                {
                    if (issue.Project.Equals("LAC") && (issue.Assignee == null || issue.Assignee == ""))
                    {
                        LACountyNotification("\n" + issue.Key.Value + " - " + GetTimeLeft(issue.Created.Value, 15).ToString() + " minutes left\n" + issue.Summary, issue.Key.Value);
                    }
                }
                JiraLastChecked   = DateTime.Now;
                jiraCheckingState = JiraCheckingState.Checking;
            }
            catch
            {
                jiraBrowserToolStripMenuItem.Enabled = false;
                jiraCheckingState = JiraCheckingState.FailedLogin;
                if (JiraChecker.JiraFailCount > 0 && Setting.Value.Jira_Username != "" && Setting.Value.Jira_Username != "!" && JiraPassword != null)
                {
                    _Jira = Jira.CreateRestClient(Setting.Value.Jira_Link, Setting.Value.Jira_Username, Encryption.Helper.ConvertToUnsecureString(JiraPassword), new JiraRestClientSettings()
                    {
                        EnableRequestTrace = true
                    });
                }
                if (!loop)
                {
                    JiraCheck(true);
                }
                else
                {
                    JiraChecker.JiraFailCount++;
                    jiraCheckingState = JiraCheckingState.FailedLogin;
                }
            }
        }
Exemplo n.º 3
0
        private void JiraChecker_Tick(object sender, EventArgs e)
        {
            if (_Jira == null || JiraChecker.JiraFailCount > 5)
            {
                jiraCheckingState = JiraCheckingState.Unknown;
                return;
            }

            bool internet = Program.CheckForInternetConnection();

            if (!internet && !lostInternet)
            {
                lostInternet = true;
                ToastNotification("Lost Connection", "You've lost internet connection. Jira will not be checked in the meantime", 30, FormAnimator.AnimationMethod.Slide, Directions[Setting.Value.Notification_Direction]);
                jiraBrowserToolStripMenuItem.Enabled = false;
                jiraCheckingState = JiraCheckingState.LostInternet;
                return;
            }
            else if (!internet && lostInternet)
            {
                return;
            }
            else if (internet && lostInternet)
            {
                lostInternet = false;
                ToastNotification("Connection Established", "Jira checking will resume", 5, FormAnimator.AnimationMethod.Slide, Directions[Setting.Value.Notification_Direction]);
                jiraBrowserToolStripMenuItem.Enabled = true;
                jiraCheckingState = JiraCheckingState.Checking;
            }
            if (JiraChecker.JiraFailCount == 5)
            {
                JiraChecker.JiraFailCount++;
                ToastNotification("Jira Failed", "Jira failed at getting LAC issues too many times. Log in again from settings", 5, FormAnimator.AnimationMethod.Slide, Directions[Setting.Value.Notification_Direction]);
                jiraBrowserToolStripMenuItem.Enabled = false;
                jiraCheckingState = JiraCheckingState.FailedLogin;
                return;
            }

            JiraCheck();

            //CheckForUpdate();
        }
Exemplo n.º 4
0
        private void JiraCheckerCorrector()
        {
            if (JiraLastChecked == null)
            {
                JiraLastChecked = DateTime.Now;
            }

            if (JiraLastChecked.Second + 60 < DateTime.Now.Second && JiraTicketChecker.Enabled)
            {
                jiraCheckingState = JiraCheckingState.Unknown;
            }
            else if (JiraTicketChecker.Enabled)
            {
                jiraCheckingState = JiraCheckingState.Checking;
            }
            else if (!JiraTicketChecker.Enabled)
            {
                jiraCheckingState = JiraCheckingState.Disabled;
            }
        }
Exemplo n.º 5
0
 public void StopCheckingJira(object Sender, EventArgs e)
 {
     JiraTicketChecker.Enabled = false;
     jiraCheckingState         = JiraCheckingState.Disabled;
 }
Exemplo n.º 6
0
        public void UpdateNewSettings()
        {
            this.Opacity = Convert.ToDouble(Setting.Value.Timer_Opacity);

            if (Setting.Value.Notification_Messages)
            {
                MessageWatcher.Enabled = true;
            }
            else
            {
                MessageWatcher.Enabled = false;
            }

            if (Setting.Value.Notification_Frequency == 0)
            {
                LACounty.Enabled = false;
            }
            else
            {
                LACounty.Enabled = true;
            }
            if (Setting.Value.Notification_Frequency != 0 && Setting.Value.Notification_Frequency * 60000 != LACounty.Interval)
            {
                LACounty.Interval = Setting.Value.Notification_Frequency * 60000;
            }

            if (DayProgress.ProgressColor != Setting.Value.Timer_TotalProgressColor)
            {
                DayProgress.ProgressColor = Setting.Value.Timer_TotalProgressColor;
            }

            jiraBrowserToolStripMenuItem.Visible = Setting.Value.General_JiraAccess;
            jiraDataToolStripMenuItem.Visible    = Setting.Value.General_JiraAccess;

            APSCheckbox.Visible = Setting.Value.General_APSUtlizer;

            if (Setting.Value.General_JiraAccess && Setting.Value.Jira_AutoCheck && !JiraTicketChecker.Enabled && JiraChecker.JiraFailCount < 5)
            {
                if (Program.CheckForInternetConnection())
                {
                    if (_Jira == null)
                    {
                        jiraLogin.Show();
                    }
                    //JiraChecker.Enabled = true;
                }
            }
            else if (!Setting.Value.Jira_AutoCheck && JiraTicketChecker.Enabled)
            {
                _Jira = null;
                JiraTicketChecker.Enabled = false;
            }
            //UpdateSystemTrayIcon(JiraChecker.Enabled);
            if (!Program.CheckForInternetConnection())
            {
                jiraCheckingState = JiraCheckingState.LostInternet;
            }
            else if (JiraTicketChecker.Enabled)
            {
                jiraCheckingState = JiraCheckingState.Checking;
            }
            else
            {
                jiraCheckingState = JiraCheckingState.Disabled;
            }

            notesToolStripMenuItem.Visible = Setting.Value.Timer_Notes;

            /*Technical Support
             * Account Manager
             * Implementation Engineer
             * Business Analyst
             * Other*/
            switch (Setting.Value.General_Position)
            {
            case Position.TechnicalSupport:
                TaskLabel.Text = "Issue #:";
                break;

            case Position.AccountManager:
                TaskLabel.Text = "Task:";
                break;

            case Position.ImplementationEngineer:
                TaskLabel.Text = "Issue #:";
                break;

            case Position.BusinessAnalyst:
                TaskLabel.Text = "Task:";
                break;

            case Position.Other:
                TaskLabel.Text = "Task:";
                break;

            default:
                TaskLabel.Text = "Issue #:";
                break;
            }

            UpdateRecentIssues();
        }