Beispiel #1
0
        internal static string GetUserTaskCountString(string serverTag)
        {
            UserTaskCount utc = UserTaskAdapter.Instance.GetUserTaskCount(DeluxeIdentity.CurrentUser.ID);

            return("{" + string.Format("tag:\"{0}\", banCount:{1}, yueCount:{2}, banExpiredCount:{3}, yueExpiredCount:{4}",
                                       serverTag, utc.BanCount, utc.YueCount, utc.BanExpiredCount, utc.YueExpiredCount) + "}");
        }
Beispiel #2
0
 public Report GetReport(int projectID)
 {
     using (DataAccessLayer modelAccess = new DataAccessLayer())
     {
         Project p = modelAccess.GetProject(projectID);
         if (p == null)
         {
             return(null);
         }
         Report report = new Report();
         report.ProjectName = p.ProjectName;
         report.sprintNames.Add("Start");
         report.sprintNames.AddRange(p.Iterations.Select(i => i.SprintName).ToList());
         report.TotalEffort = p.ProductBacklogItems.Sum(pbi => pbi.EffortScore ?? 0);
         report.projectBurndownData.Add(report.TotalEffort);
         report.sprintVelocities.Add(0);
         foreach (Iteration i in p.Iterations)
         {
             List <ProductBacklogItem> pbis =
                 i.ProductBacklogItems.Where(pbi => pbi.DateFinished.HasValue)
                 .Where(
                     result =>
                     result.DateFinished.Value > i.SprintStartDate &&
                     result.DateFinished.Value < i.SprintEndDate)
                 .ToList();
             int sum = pbis.Where(item => item.EffortScore.HasValue).Sum(pbi => pbi.EffortScore.Value);
             report.projectBurndownData.Add((report.projectBurndownData.Last() - sum));
             report.sprintVelocities.Add(sum);
             report.TotalBacklogItemsFinished += pbis.Count;
             foreach (ProductBacklogItem pbi in pbis)
             {
                 foreach (BacklogItemTask t in pbi.Tasks)
                 {
                     if (t.CurrentUserID.HasValue)
                     {
                         User u = modelAccess.GetUser(t.CurrentUserID.Value);
                         if (report.TotalTasksFinishedByUser.Count(item => item.UserName == u.UserName) == 1)
                         {
                             UserTaskCount userTaskCount =
                                 report.TotalTasksFinishedByUser.First(utc => utc.UserName == u.UserName);
                             userTaskCount.TaskCount++;
                         }
                         else
                         {
                             report.TotalTasksFinishedByUser.Add(new UserTaskCount()
                             {
                                 TaskCount = 1,
                                 UserName  = u.UserName
                             });
                         }
                     }
                 }
             }
         }
         int sumOfVelocities   = report.sprintVelocities.Where(vel => vel != 0).Sum();
         int countOfVelocities = report.sprintVelocities.Count(vel => vel != 0);
         if (countOfVelocities == 0 || sumOfVelocities == 0)
         {
             report.CurrentAverageVelocity = 0;
         }
         else
         {
             report.CurrentAverageVelocity = sumOfVelocities / countOfVelocities;
         }
         report.VelocityChart = ChartHelper.BarChart(
             ChartHelper.ClearBlue("rgba"),
             ChartHelper.Black("rgba"),
             ChartHelper.ClearBlue("rgba"),
             ChartHelper.ClearWhite("rgba"),
             report.sprintNames,
             "Project Velocities",
             report.sprintVelocities
             );
         report.BurndownChart = ChartHelper.LineGraph(
             ChartHelper.ClearBlue("rgba"),
             ChartHelper.Black("rgba"),
             ChartHelper.ClearWhite("rgba"),
             ChartHelper.Black("hex"),
             ChartHelper.DarkGreen("hex"),
             ChartHelper.Black("rgba"),
             report.sprintNames,
             "Burndown Chart",
             report.projectBurndownData
             );
         return(report);
     }
 }