internal object GetBurndownChartData(IncomingBurndownChartSetting request) { var result = new object(); var bindingCollection = new List <AssociatedBoardWorkItems>(); bindingCollection = Context.AssociatedBoardWorkItems.Include(x => x.WorkItem).Where(x => x.ProjectId == request.ProjectId) .ToList() .Where(x => CompareDate(x.WorkItem.StartDate, request.StartDate)) .ToList(); if (request.BacklogBindingType == 1) { bindingCollection = bindingCollection.Where(x => x.WorkItem.WorkItemTypeId == request.BacklogSelectedType).ToList(); } else { bindingCollection = bindingCollection.Where(x => x.WorkItem.WorkItemTypeId == request.CountWItemSelected).ToList(); } if (request.BurndownOnSelect == 1) { result = bindingCollection.OrderBy(x => x.WorkItem.StartDate).GroupBy(x => x.WorkItem.StartDate).Select(group => new { x = group.FirstOrDefault().WorkItem.StartDate, y = group.Count() }).ToList(); } else { switch (request.SumWItemSelected) { case 1: result = bindingCollection.OrderBy(x => x.WorkItem.StartDate).GroupBy(x => x.WorkItem.StartDate).Select(group => new{ x = group.FirstOrDefault().WorkItem.StartDate, y = group.Sum(item => item.WorkItem.ItemPriority) }).ToList(); break; case 2: result = bindingCollection.OrderBy(x => x.WorkItem.StartDate).GroupBy(x => x.WorkItem.StartDate).Select(group => new{ x = group.FirstOrDefault().WorkItem.StartDate, y = group.Sum(item => ParseInt(item.WorkItem.StackRank)) }).ToList(); break; case 3: result = bindingCollection.OrderBy(x => x.WorkItem.StartDate).GroupBy(x => x.WorkItem.StartDate).Select(group => new { x = group.FirstOrDefault().WorkItem.StartDate, y = group.Sum(item => ParseInt(item.WorkItem.StoryPoints)) }).ToList(); break; default: break; } } return(result); }
public object GetBurndownChartData([FromBody] IncomingBurndownChartSetting request) { var result = default(object); using (var context = new WidgetContext(Context, Configuration)) { result = context.GetBurndownChartData(request); } return(result); }
public PremadeWidgets GetBurndownChart([FromBody] IncomingBurndownChartSetting request) { var result = default(PremadeWidgets); using (var context = new DatabaseController(Context, Configuration)) { result = context.SaveBurndownChart(new IncomingIdRequest { WorkItemType = request.ViewComponentId, ProjectId = request.ProjectId, Id = request.Dashboard, Phase = JsonConvert.SerializeObject(request) }, UserId); } return(result); }