private ValidationSeverity DetermineSeverity() { var issueMax = Issues.Any() ? Issues.Max(i => i.Severity) : ValidationSeverity.None; var reportMax = SubReports.Any() ? SubReports.Max(i => i.Severity) : ValidationSeverity.None; return((ValidationSeverity)Math.Max((int)issueMax, (int)reportMax)); }
public void Refresh() { if (Issues != null && Issues.Any()) { Cost = Issues.Sum(t => t.Price); TimeToDo = Issues.Sum(t => t.IssueEstimation); CompletedIssues = Issues.Where(t => t.IsCompleted()).ToList(); NewIssues = Issues.Where(t => t.Status == IssueStatus.New).ToList(); LastIssues = Issues.OrderByDescending(t => t.CreatedDate).TakeMax(10).ToList(); } }
public void CreateNewIssue() { var issueId = Issues.Any() ? Issues.Max(i => i.Id) + 1 : 1; var newIssue = new Issue(issueId) { Author = Environment.UserName, DateCreated = DateTime.Now, }; var issueVm = CreateIssueVm(newIssue); issueVm.IsLoaded = true; issueVm.IsDirty = true; Issues.Add(issueVm); ActiveIssue = issueVm; }
public override string ToString() { var sb = new StringBuilder(); if (!string.IsNullOrEmpty(Scope)) { sb.Append(Type).Append('(').Append(Scope).Append("): ").Append(Summary); } else { sb.Append(Type).Append(": ").Append(Summary); } if (Issues.Any()) { sb.Append(" (closed #").AppendJoin(", #", Issues).Append(')'); } return(sb.ToString()); }
/// <summary> /// Returns whether any of the issues contain a unique, identifying issue code. /// </summary> public bool Contains(long issueCode) { return(issueCode != ResultIssue.NonIssueCode && Issues.Any(issue => issue == issueCode)); }
/// <summary> /// Returns whether any of the issues contain a message. /// </summary> public bool Contains(string message) { return(Issues.Any(issue => issue == message)); }
public void MergeBcfFile(IEnumerable <BcfFile> bcfFiles) { try { foreach (var bcf in bcfFiles) { foreach (var mergedIssue in bcf.Issues) { //it's a new issue if (!Issues.Any(x => x.Topic != null && mergedIssue.Topic != null && x.Topic.Guid == mergedIssue.Topic.Guid)) { string sourceDir = Path.Combine(bcf.TempPath, mergedIssue.Topic.Guid); string destDir = Path.Combine(TempPath, mergedIssue.Topic.Guid); Directory.Move(sourceDir, destDir); //update path set for binding foreach (var view in mergedIssue.Viewpoints) { view.SnapshotPath = Path.Combine(TempPath, mergedIssue.Topic.Guid, view.Snapshot); } Issues.Add(mergedIssue); } //it exists, let's loop comments and views else { var issue = Issues.First(x => x.Topic.Guid == mergedIssue.Topic.Guid); var newComments = mergedIssue.Comment.Where(x => issue.Comment.All(y => y.Guid != x.Guid)).ToList(); if (newComments.Any()) { foreach (var newComment in newComments) { issue.Comment.Add(newComment); } } //sort comments issue.Comment = new ObservableCollection <Comment>(issue.Comment.OrderByDescending(x => x.Date)); var newViews = mergedIssue.Viewpoints.Where(x => issue.Viewpoints.All(y => y.Guid != x.Guid)).ToList(); if (newViews.Any()) { foreach (var newView in newViews) { //to avoid conflicts in case both contain a snapshot.png or viewpoint.bcfv //img to be merged string sourceFile = newView.SnapshotPath; //assign new safe name based on guid newView.Snapshot = newView.Guid + ".png"; //set new temp path for binding newView.SnapshotPath = Path.Combine(TempPath, issue.Topic.Guid, newView.Snapshot); //assign new safe name based on guid newView.Viewpoint = newView.Guid + ".bcfv"; File.Move(sourceFile, newView.SnapshotPath); issue.Viewpoints.Add(newView); } } } } Utils.DeleteDirectory(bcf.TempPath); } HasBeenSaved = false; } catch (System.Exception ex1) { MessageBox.Show("exception: " + ex1); } }
private FlowDocument BuildDocument() { var doc = new FlowDocument(); doc.LineStackingStrategy = System.Windows.LineStackingStrategy.BlockLineHeight; doc.LineHeight = 12; doc.Blocks.Add(new Paragraph(new Bold(new Run("Summary")))); doc.Blocks.Add(new Paragraph(new Run(" " + Title))); doc.Blocks.Add(new Paragraph(new Bold(new Run("Description")))); doc.Blocks.Add(new Paragraph(new Run(" " + Description))); doc.Blocks.Add(new Paragraph(new Bold(new Run("Url")))); var url = new Hyperlink(new Run(Url.ToString())); doc.Blocks.Add(new Paragraph(url)); doc.Blocks.Add(new Paragraph(new Bold(new Run("Parent Story")))); var parentUrl = new Hyperlink(new Run(ParentStoryUrl.ToString())); parentUrl.NavigateUri = ParentStoryUrl; doc.Blocks.Add(new Paragraph(parentUrl)); doc.Blocks.Add(new Paragraph(new Italic(new Run("Status: " + Status.ToString())))); doc.Blocks.Add(new Paragraph(new Italic(new Run("Date Started: " + DateStarted.Value.ToString("yyyy-MM-dd hh:mm:ss"))))); if (DateEnded.HasValue && DateEnded.Value != DateTime.MinValue) { doc.Blocks.Add(new Paragraph(new Italic(new Run("Date Ended: " + DateEnded.Value.ToString("yyyy-MM-dd hh:mm:ss"))))); } if (Attachments.Any()) { doc.Blocks.Add(new Paragraph(new Bold(new Run("Attachments")))); foreach (var item in Attachments) { var itemUri = new Uri(item.Value); var itemUrl = new Hyperlink(new Run(item.Value)); doc.Blocks.Add(new Paragraph(itemUrl)); } } if (AcceptanceCriteria.Any()) { doc.Blocks.Add(new Paragraph(new Bold(new Run("Acceptance Criteria")))); foreach (var item in AcceptanceCriteria) { doc.Blocks.Add(new Paragraph(new Run(" + " + item.Value))); } } if (DeveloperCriteria.Any()) { doc.Blocks.Add(new Paragraph(new Bold(new Run("Development Criteria")))); foreach (var item in DeveloperCriteria) { doc.Blocks.Add(new Paragraph(new Run(" + " + item.Value))); } } var i = 0; var j = 0; if (KeyIdentifiers.Any()) { doc.Blocks.Add(new Paragraph(new Bold(new Run("Key Identifiers")))); foreach (var item in KeyIdentifiers) { doc.Blocks.Add(new Paragraph(new Run(" " + (++i).ToString() + ". " + item.Description))); if (item.Questions.Any()) { j = 0; doc.Blocks.Add(new Paragraph(new Italic(new Run(" Questions")))); foreach (var q in item.Questions) { doc.Blocks.Add(new Paragraph(new Run(" " + (++j).ToString() + ".Q. " + q.Ask))); doc.Blocks.Add(new Paragraph(new Run(" A. " + q.Answer))); } } } } if (Issues.Any()) { i = 0; doc.Blocks.Add(new Paragraph(new Bold(new Run("Issues")))); foreach (var item in Issues) { doc.Blocks.Add(new Paragraph(new Run(" " + (++i).ToString() + ". " + item.Description))); doc.Blocks.Add(new Paragraph(new Italic(new Run(" Is Open: " + item.IsOpen.ToString())))); } } if (Queries.Any()) { doc.Blocks.Add(new Paragraph(new Bold(new Run("Queries")))); foreach (var item in Queries) { var itemUri = new Uri(item.Value); var itemUrl = new Hyperlink(new Run(item.Value)); doc.Blocks.Add(new Paragraph(itemUrl)); } } if (Scripts.Any()) { doc.Blocks.Add(new Paragraph(new Bold(new Run("Scripts")))); foreach (var item in Scripts) { var itemUri = new Uri(item.Value); var itemUrl = new Hyperlink(new Run(item.Value)); doc.Blocks.Add(new Paragraph(itemUrl)); } } if (TestCases.Any()) { i = 0; doc.Blocks.Add(new Paragraph(new Bold(new Run("Test Cases")))); foreach (var item in TestCases) { doc.Blocks.Add(new Paragraph(new Run(" " + (++i).ToString() + ". " + item.Description))); doc.Blocks.Add(new Paragraph(new Italic(new Run(" Status: " + item.Status.ToString())))); if (item.Steps.Any()) { j = 0; doc.Blocks.Add(new Paragraph(new Italic(new Run(" Steps")))); foreach (var q in item.Steps) { doc.Blocks.Add(new Paragraph(new Run(" " + (++j).ToString() + ". " + q.Value))); } } } } if (Checkups.Any()) { i = 0; doc.Blocks.Add(new Paragraph(new Bold(new Run("Checkups")))); foreach (var item in Checkups) { doc.Blocks.Add(new Paragraph(new Run(" " + (++i).ToString() + ". " + item.Description))); doc.Blocks.Add(new Paragraph(new Italic(new Run(" Applied: " + item.Applied.ToString())))); } } if (SubTasks.Any()) { i = 0; doc.Blocks.Add(new Paragraph(new Bold(new Run("SubTasks")))); foreach (var item in SubTasks) { doc.Blocks.Add(new Paragraph(new Run(" " + (++i).ToString() + ". " + item.Title))); doc.Blocks.Add(new Paragraph(new Italic(new Run(" Status: " + item.Status)))); } } return(doc); }