public void SyncProject() { Microsoft.Office.Interop.MSProject.Project project = Globals.ThisAddIn.Application.ActiveProject; var selectedProjectNames = Properties.Settings.Default.SelectedProjects; var projects = JsonConvert.DeserializeObject <IEnumerable <Project> >(Properties.Settings.Default.Projects); var selectedProjects = (from p in projects where selectedProjectNames.Contains(p.Name) select p).ToList(); foreach (var selectedProject in selectedProjects) { Microsoft.Office.Interop.MSProject.Task newProjectTask = project.Tasks.Add(selectedProject.Name); newProjectTask.WBS = selectedProject.Key; if (newProjectTask.OutlineLevel == 2) { newProjectTask.OutlineOutdent(); } var issues = (from i in _jira.Issues.Queryable where i.Status != "Done" && i.Project == selectedProject.Key orderby i.Created select i).Take(100); var isIndented = false; foreach (var issue in issues) { Microsoft.Office.Interop.MSProject.Task newTask = project.Tasks.Add(issue.Summary); newTask.WBS = issue.Key.ToString(); if (issue.TimeTrackingData.OriginalEstimate != null) { newTask.Duration = issue.TimeTrackingData.OriginalEstimate.Split(' ')[0]; } newTask.ResourceNames = issue.Assignee; if (!isIndented) { newTask.OutlineIndent(); isIndented = true; } //newTask.Priority = issue.Priority; } } }