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; } }
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; } } }
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(); }
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; } }
public void StopCheckingJira(object Sender, EventArgs e) { JiraTicketChecker.Enabled = false; jiraCheckingState = JiraCheckingState.Disabled; }
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(); }