diff --git a/IssueTracker/IssueRow.cs b/IssueTracker/IssueRow.cs index 79a15df..cbb027c 100644 --- a/IssueTracker/IssueRow.cs +++ b/IssueTracker/IssueRow.cs @@ -4,33 +4,49 @@ namespace IssueTracker; public class IssueRow { - [Name("Issue Type")] - public string IssueType { get; set; } = ""; - - [Name("Issue key")] - public string IssueKey { get; set; } = ""; - - [Name("Issue id")] + public int WorkingDate { get; set; } [Ignore] - public string IssueId { get; set; } = ""; + private string _originalIssueKey = ""; + private string _issueKey = ""; + [Name("Issue key")] + public string IssueKey + { + get => _issueKey; + set + { + if (string.IsNullOrWhiteSpace(value)) + { + _originalIssueKey = ""; + _issueKey = ""; + return; + } - public string Summary { get; set; } = ""; + _originalIssueKey = value.Trim(); + var parts = value.Split('-'); + _issueKey = parts.Length > 1 ? parts[1].Trim() : value.Trim(); + } + } + public string Status { get; set; } = ""; private string _assignee = ""; public string Assignee { get => _assignee; set => _assignee = value?.Split('@')[0].Trim() ?? ""; } - + public string Summary { get; set; } = ""; + [Name("Issue Type")] + public string IssueType { get; set; } = ""; + public string Created { get; set; } = ""; + public string Updated { get; set; } = ""; private string _manager = ""; public string Manager { get => _manager; set => _manager = value?.Split('@')[0].Trim() ?? ""; } - public string Status { get; set; } = ""; - public string Created { get; set; } = ""; - public string Updated { get; set; } = ""; - - public int WorkingDate { get; set; } + public string Link => string.IsNullOrEmpty(_originalIssueKey) + ? "" + : $"https://vts.vatech.com/browse/{_originalIssueKey}"; + [Ignore] + public string IssueId { get; set; } = ""; }