Example #1
0
        BurndownData GetBurndownData(int project, string label, string historicalDataPath)
        {
            var tracker = new PivotalTracker(Environment.GetEnvironmentVariable("TrackerToken", EnvironmentVariableTarget.Machine));
            var stories =
                tracker.Stories(project).Result
                .Where(item => item.Labels.Contains(label, StringComparer.InvariantCultureIgnoreCase))
                .ToArray();

            var pointsRemaining = stories.Where(item => item.CurrentState != PivotalStoryState.Accepted).Sum(item => Math.Max(0, item.Estimate ?? 0));
            var totalPointsBurned = stories.Where(item => item.CurrentState == PivotalStoryState.Accepted).Sum(item => Math.Max(0, item.Estimate ?? 0));

            var burndownData = new BurndownData();
            burndownData.Load(Server.MapPath(historicalDataPath));
            burndownData.Add(DateTime.Today, pointsRemaining, totalPointsBurned);
            return burndownData;
        }
Example #2
0
 string EstimateRemainingDisplay(BurndownData burndown, int meanVelocity)
 {
     var iterationsRemaining = meanVelocity == 0 ? "inf" :  (burndown.PointsRemaining / meanVelocity).ToString();
     return string.Format("{0} iterations remaining.", iterationsRemaining);
 }
Example #3
0
 public BurndownChart(BurndownData data, IChartDataEncoding encoding)
 {
     this.burndown = data;
     this.encoding = encoding;
 }