/// <summary> /// Add Issue /// </summary> /// <param name="path"></param> /// <param name="isBcf"></param> /// <returns></returns> private Tuple<IssueBCF, Issue> AddIssue(string path, bool isBcf) { try { UIDocument uidoc = uiapp.ActiveUIDocument; Document doc = uidoc.Document; if (!(uidoc.ActiveView is View3D || uidoc.ActiveView is ViewSheet || uidoc.ActiveView is ViewPlan || uidoc.ActiveView is ViewSection || uidoc.ActiveView is ViewDrafting)) { MessageBox.Show("I'm sorry,\nonly 3D and 2D views are supported.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); return null; } IssueBCF issue = new IssueBCF(); string folderIssue = Path.Combine(path, issue.guid.ToString()); if (!Directory.Exists(folderIssue)) Directory.CreateDirectory(folderIssue); var types = new ObservableCollection<Issuetype>(); var assignees = new List<User>(); var components = new ObservableCollection<IssueTracker.Data.Component>(); var priorities = new ObservableCollection<Priority>(); var noCom = true; var noPrior = true; var noAssign = true; if (!isBcf) { types = mainPan.jira.TypesCollection; assignees = mainPan.getAssigneesIssue(); components = mainPan.jira.ComponentsCollection; priorities = mainPan.jira.PrioritiesCollection; noCom = mainPan.jira.ProjectsCollection[mainPan.jiraPan.projIndex].issuetypes[0].fields.components == null; noPrior = mainPan.jira.ProjectsCollection[mainPan.jiraPan.projIndex].issuetypes[0].fields.priority == null; noAssign = mainPan.jira.ProjectsCollection[mainPan.jiraPan.projIndex].issuetypes[0].fields.assignee == null; } AddIssueRevit air = new AddIssueRevit(uidoc, folderIssue, types, assignees, components, priorities, noCom, noPrior, noAssign); air.Title = "Add Jira Issue"; if (!isBcf) air.VerbalStatus.Visibility = System.Windows.Visibility.Collapsed; else air.JiraFieldsBox.Visibility = System.Windows.Visibility.Collapsed; air.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; air.ShowDialog(); if (air.DialogResult.HasValue && air.DialogResult.Value) { issue.snapshot = Path.Combine(folderIssue, "snapshot.png"); int elemCheck = 2; if (air.all.IsChecked.Value) elemCheck = 0; else if (air.selected.IsChecked.Value) elemCheck = 1; Issue issueJira = new Issue(); if (!isBcf) { issueJira.fields = new Fields(); issueJira.fields.issuetype = (Issuetype)air.issueTypeCombo.SelectedItem; issueJira.fields.priority = (Priority)air.priorityCombo.SelectedItem; if (!string.IsNullOrEmpty(air.ChangeAssign.Content.ToString()) && air.ChangeAssign.Content.ToString() != "none") { issueJira.fields.assignee = new User(); issueJira.fields.assignee.name = air.ChangeAssign.Content.ToString(); } if (air.SelectedComponents != null && air.SelectedComponents.Any()) { issueJira.fields.components = air.SelectedComponents; } } issue.viewpoint = generateViewpoint(elemCheck); issue.markup.Topic.Title = air.TitleBox.Text; issue.markup.Header[0].IfcProject = ExporterIFCUtils.CreateProjectLevelGUID(doc, Autodesk.Revit.DB.IFC.IFCProjectLevelGUIDType.Project); string projFilename = (doc.PathName != null && doc.PathName != "") ? System.IO.Path.GetFileName(doc.PathName) : ""; issue.markup.Header[0].Filename = projFilename; issue.markup.Header[0].Date = DateTime.Now; //comment if (!string.IsNullOrWhiteSpace(air.CommentBox.Text)) { CommentBCF c = new CommentBCF(); c.Comment1 = air.CommentBox.Text; c.Topic = new CommentTopic(); c.Topic.Guid = issue.guid.ToString(); ; c.Date = DateTime.Now; c.VerbalStatus = air.VerbalStatus.Text; c.Status = CommentStatus.Unknown; c.Author = (string.IsNullOrWhiteSpace(mainPan.jira.Self.displayName)) ? UserSettings.Get("BCFusername") : mainPan.jira.Self.displayName; issue.markup.Comment.Add(c); } return new Tuple<IssueBCF, Issue>(issue, issueJira); } else { mainPan.DeleteDirectory(folderIssue); } } catch (System.Exception ex1) { MessageBox.Show("exception: " + ex1); } return null; }
/// <summary> /// Add Issue /// </summary> /// <param name="path"></param> /// <param name="isBcf"></param> /// <returns></returns> private Tuple <IssueBCF, Issue> AddIssue(string path, bool isBcf) { try { UIDocument uidoc = uiapp.ActiveUIDocument; Document doc = uidoc.Document; if (!(uidoc.ActiveView is View3D || uidoc.ActiveView is ViewSheet || uidoc.ActiveView is ViewPlan || uidoc.ActiveView is ViewSection || uidoc.ActiveView is ViewDrafting)) { MessageBox.Show("I'm sorry,\nonly 3D and 2D views are supported.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); return(null); } IssueBCF issue = new IssueBCF(); string folderIssue = Path.Combine(path, issue.guid.ToString()); if (!Directory.Exists(folderIssue)) { Directory.CreateDirectory(folderIssue); } var types = new ObservableCollection <Issuetype>(); var assignees = new List <User>(); var components = new ObservableCollection <IssueTracker.Data.Component>(); var priorities = new ObservableCollection <Priority>(); var noCom = true; var noPrior = true; var noAssign = true; if (!isBcf) { types = mainPan.jira.TypesCollection; assignees = mainPan.getAssigneesIssue(); components = mainPan.jira.ComponentsCollection; priorities = mainPan.jira.PrioritiesCollection; noCom = mainPan.jira.ProjectsCollection[mainPan.jiraPan.projIndex].issuetypes[0].fields.components == null; noPrior = mainPan.jira.ProjectsCollection[mainPan.jiraPan.projIndex].issuetypes[0].fields.priority == null; noAssign = mainPan.jira.ProjectsCollection[mainPan.jiraPan.projIndex].issuetypes[0].fields.assignee == null; } AddIssueRevit air = new AddIssueRevit(uidoc, folderIssue, types, assignees, components, priorities, noCom, noPrior, noAssign); air.Title = "Add Jira Issue"; if (!isBcf) { air.VerbalStatus.Visibility = System.Windows.Visibility.Collapsed; } else { air.JiraFieldsBox.Visibility = System.Windows.Visibility.Collapsed; } air.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; air.ShowDialog(); if (air.DialogResult.HasValue && air.DialogResult.Value) { issue.snapshot = Path.Combine(folderIssue, "snapshot.png"); int elemCheck = 2; if (air.all.IsChecked.Value) { elemCheck = 0; } else if (air.selected.IsChecked.Value) { elemCheck = 1; } Issue issueJira = new Issue(); if (!isBcf) { issueJira.fields = new Fields(); issueJira.fields.issuetype = (Issuetype)air.issueTypeCombo.SelectedItem; issueJira.fields.priority = (Priority)air.priorityCombo.SelectedItem; if (!string.IsNullOrEmpty(air.ChangeAssign.Content.ToString()) && air.ChangeAssign.Content.ToString() != "none") { issueJira.fields.assignee = new User(); issueJira.fields.assignee.name = air.ChangeAssign.Content.ToString(); } if (air.SelectedComponents != null && air.SelectedComponents.Any()) { issueJira.fields.components = air.SelectedComponents; } } issue.viewpoint = generateViewpoint(elemCheck); issue.markup.Topic.Title = air.TitleBox.Text; issue.markup.Header[0].IfcProject = ExporterIFCUtils.CreateProjectLevelGUID(doc, Autodesk.Revit.DB.IFC.IFCProjectLevelGUIDType.Project); string projFilename = (doc.PathName != null && doc.PathName != "") ? System.IO.Path.GetFileName(doc.PathName) : ""; issue.markup.Header[0].Filename = projFilename; issue.markup.Header[0].Date = DateTime.Now; //comment if (!string.IsNullOrWhiteSpace(air.CommentBox.Text)) { CommentBCF c = new CommentBCF(); c.Comment1 = air.CommentBox.Text; c.Topic = new CommentTopic(); c.Topic.Guid = issue.guid.ToString(); ; c.Date = DateTime.Now; c.VerbalStatus = air.VerbalStatus.Text; c.Status = CommentStatus.Unknown; c.Author = (string.IsNullOrWhiteSpace(mainPan.jira.Self.displayName)) ? UserSettings.Get("BCFusername") : mainPan.jira.Self.displayName; issue.markup.Comment.Add(c); } return(new Tuple <IssueBCF, Issue>(issue, issueJira)); } else { mainPan.DeleteDirectory(folderIssue); } } catch (System.Exception ex1) { MessageBox.Show("exception: " + ex1); } return(null); }