示例#1
0
        private void MapComplianceByMaturityLevel(List <ComplianceEntity> complianceEntities, ComplianceSchemeEntity scheme, Dashboard dashboard)
        {
            var highchart = new Highchart();
            var series    = new Series
            {
                Type = "pie",
                Name = "Maturity Level"
            };

            var maturityLevelGroups = complianceEntities.OrderBy(x => x.CmmiStatusId).GroupBy(gc => CmmiStatus.LookupByValue(gc.CmmiStatusId)).ToList();

            foreach (var maturityLevelGroup in maturityLevelGroups)
            {
                var data = new Data
                {
                    Name  = maturityLevelGroup.Key.Name,
                    Value = maturityLevelGroup.Count(),
                    Color = maturityLevelGroup.Key.Color
                };
                series.Data.Add(data);
            }

            highchart.Series.Add(series);

            dashboard.ComplianceByMaturityLevel[scheme.Id] = highchart;
        }
示例#2
0
        private void MapComplianceByGapReview(List <ComplianceEntity> complianceEntities, ComplianceSchemeEntity scheme, Dashboard dashboard)
        {
            var highchart = new Highchart();
            var series    = new Series
            {
                Type = "pie",
                Name = "Compliance"
            };

            var gapReviewGroups = complianceEntities.OrderBy(x => x.CompliantStatusId).GroupBy(x => CompliantStatus.LookupByValue(x.CompliantStatusId) ?? CompliantStatus.Unknown).ToList();

            foreach (var gapReviewGroup in gapReviewGroups)
            {
                var data = new Data
                {
                    Name  = gapReviewGroup.Key.Name,
                    Value = gapReviewGroup.Count(),
                    Color = gapReviewGroup.Key.Color
                };
                series.Data.Add(data);
            }

            highchart.Series.Add(series);

            dashboard.ComplianceByGapReview[scheme.Id] = highchart;
        }