private string CalculateStatus(RallyArtifact artifact, RallyIteration iteration) { var state = (string)artifact.KanbanState; switch (state) { case "Developing": case "Code Review": case "Testing": case "Acceptance Review": return("In-Progress"); case "Done": if (iteration == null) { return("Deployed"); } if (iteration.EndDate.AddDays(DeploymentOffsetInDays) <= DateTime.Today) { return("Deployed"); } return("Completed"); default: return("Backlog"); } }
private RallyIteration GetIteration(RallyArtifact artifact, IList <RallyIteration> iterations) { if (artifact.IterationName == null) { return(null); } var iteration = iterations.FirstOrDefault(x => x.Name == artifact.IterationName); return(iteration); }
private DateTime?CalculateTargetDate(RallyArtifact result, RallyIteration iteration) { if (result.Status == "Backlog") { return(null); } if (iteration == null) { return(null); } if (iteration.StartDate <= DateTime.Today) { return(iteration.EndDate.AddDays(DeploymentOffsetInDays)); } return(null); }