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;
                }
            }
        }
 public void initRow(DataGridViewRow row, IronPython.Runtime.PythonDictionary shotgunTask = null, Microsoft.Office.Interop.MSProject.Task projectTask = null)
 {
     row.Tag = new TaskRow(shotgunTaskIn: shotgunTask, projectTaskIn: projectTask);
 }
Exemple #3
0
 void _ProjectApplication_ProjectBeforeTaskChange(Microsoft.Office.Interop.MSProject.Task tsk, Microsoft.Office.Interop.MSProject.PjField Field, object NewVal, ref bool Cancel)
 {
     DisplayInWatchWindow(ProjectBeforeTaskChange++, System.Reflection.MethodInfo.GetCurrentMethod().Name);
 }
Exemple #4
0
 void _ProjectApplication_ProjectBeforeTaskDelete(Microsoft.Office.Interop.MSProject.Task tsk, ref bool Cancel)
 {
     DisplayInWatchWindow(ProjectBeforeTaskDelete++, System.Reflection.MethodInfo.GetCurrentMethod().Name);
 }