Beispiel #1
0
        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);
        }