Example #1
0
        static void Main(string[] args)
        {
            StatsDisplayOptions options      = null;
            IssueDisplayOptions issueOptions = null;

            Parser.Default.ParseArguments <StatsDisplayOptions, IssueDisplayOptions>(args).WithParsed <StatsDisplayOptions>(opts => options = opts).WithParsed <IssueDisplayOptions>(opts => issueOptions = opts);

            if (options != null)
            {
                Console.WriteLine($"Closed Work Item States : {options.ClosedStateClause}");
                Console.WriteLine($"Work Item Kinds : {options.WorkItemKindClause}");
                Console.WriteLine($"Start Date : {options.StartDate.ToShortDateString()}");

                var bc = new TFSBugCounter(options);
                bc.Connect();

                if (bc.Connected)
                {
                    DateTime countDate = options.StartDate.Date;
                    bc.CountAllOpenItemsAtDate(DateTime.Now);
                    bc.FindAllItemsNewerThan(countDate);
                    bc.GenerateStatistics(countDate, options.OutputFilePath);
                }
            }
            else if (issueOptions != null)
            {
                Console.WriteLine($"State Transitions for Issue {issueOptions.WorkItemId}");
                var bc = new TFSBugCounter(issueOptions);
                bc.Connect();
                bc.DisplayStateTransitions(issueOptions.WorkItemId);
            }
        }
Example #2
0
        public TFSBugCounter(IssueDisplayOptions options)
        {
            _tfsServerUrl = options.TFSServer;
            _tfsProject   = options.TFSProject;
            _tfsIssueId   = options.WorkItemId;

            Connected = false;
        }