Ejemplo n.º 1
0
 private void MapEngagement(EngagementEntity engagementEntity, Dashboard dashboard)
 {
     dashboard.Status = EngagementStatus.LookupByValue(engagementEntity.EngagementStatusId)?.Name;
     dashboard.ExternalKickoffDate = engagementEntity.ExternalKickoffDate?.ToString("M/d/yyyy");
     dashboard.DeliverableDueDate  = engagementEntity.DeliverableDueDate?.ToString("M/d/yyyy");
     dashboard.EngagementManager   = engagementEntity.EngagementManager;
 }
Ejemplo n.º 2
0
        public void MapRiskGauge(EngagementEntity engagementEntity, Dashboard dashboard)
        {
            var highchart = new Highchart();
            var series    = new Series
            {
                Type      = "pie",
                Name      = "Severity",
                InnerSize = "70%"
            };

            dashboard.RiskScore = engagementEntity.RiskScore?.ToString("N1") ?? "N/A";

            Func <ThreatLevel, decimal?, List <Data> > buildData = (threatLevel, nextThreatLevelValue) =>
            {
                var dataSlices = new List <Data>();
                for (var slice = threatLevel.Value; slice < nextThreatLevelValue; slice += 0.1m)
                {
                    dataSlices.Add(new Data
                    {
                        Name  = 5 == slice ? ThreatLevel.LookupByValue(engagementEntity.RiskScore).Name : string.Empty,
                        Color = engagementEntity.RiskScore >= slice ? threatLevel.Color : "#eee",
                        Value = 0.1m
                    });
                }
                return(dataSlices);
            };

            series.Data.AddRange(buildData(ThreatLevel.VeryLow, ThreatLevel.Low.Value));
            series.Data.AddRange(buildData(ThreatLevel.Low, ThreatLevel.Moderate.Value));
            series.Data.AddRange(buildData(ThreatLevel.Moderate, ThreatLevel.High.Value));
            series.Data.AddRange(buildData(ThreatLevel.High, ThreatLevel.VeryHigh.Value));
            series.Data.AddRange(buildData(ThreatLevel.VeryHigh, 10m));
            highchart.Series.Add(series);

            dashboard.RiskGauge = highchart;
        }
Ejemplo n.º 3
0
        private void SetUpMocks()
        {
            _engagementEntity = new EngagementEntity();
            _mockEngagementRepository.Setup(x => x.Get(It.IsAny <int>()))
            .Returns(_engagementEntity);

            _importEntity = new ImportEntity {
                Id = 1
            };
            _mockImportRepository.Setup(x => x.GetLatest(It.IsAny <int>()))
            .Returns(_importEntity);

            _customerEntity = new CustomerEntity();
            _mockCustomerRepository.Setup(x => x.Get(It.IsAny <int>()))
            .Returns(_customerEntity);

            _riskEntities = new List <RiskEntity>
            {
                new RiskEntity
                {
                    Impact     = 3,
                    Likelihood = 6,
                    FinalScore = 7
                }
            };
            _mockRiskRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>()))
            .Returns(_riskEntities);

            _vulnerabilityEntities = new List <VulnerabilityEntity>
            {
                new VulnerabilityEntity
                {
                    CvssScore      = 1m,
                    RiskLevelBytes = Encode(ThreatLevel.High.Name)
                }
            };
            _mockVulnerabilityRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>()))
            .Returns(_vulnerabilityEntities);

            _hostEntities = new List <HostEntity>
            {
                new HostEntity
                {
                    OperatingSystemBytes = Encode("Operating System"),
                    HostVulnerabilities  = new List <HostVulnerabilityEntity>
                    {
                        new HostVulnerabilityEntity
                        {
                            Vulnerability = new VulnerabilityEntity {
                                CvssScore = 10m
                            }
                        }
                    }
                }
            };
            _mockHostRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>()))
            .Returns(_hostEntities);

            _governanceControlEntities = new List <GovernanceControlEntity>
            {
                new GovernanceControlEntity
                {
                    ThreatLevelId = 1,
                    CmmiStatusId  = 2
                }
            };
            _mockGovernanceControlRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>()))
            .Returns(_governanceControlEntities);

            _phaseEntities = new List <PhaseEntity>
            {
                new PhaseEntity
                {
                    Name  = "Phase",
                    Risks = _riskEntities
                }
            };
            _mockPhaseRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>()))
            .Returns(_phaseEntities);

            _importEntities = new List <ImportEntity>
            {
                new ImportEntity
                {
                    Id = 1
                }
            };
            _mockImportRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>()))
            .Returns(_importEntities);

            _complianceEntities = new List <ComplianceEntity>
            {
                new ComplianceEntity
                {
                    Id = 1
                }
            };
            _mockComplianceRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>(), It.IsAny <int>()))
            .Returns(_complianceEntities);

            _complianceSchemeEntities = new List <ComplianceSchemeEntity>
            {
                new ComplianceSchemeEntity
                {
                    Id = 1
                }
            };
            _mockComplianceSchemeRepository.Setup(x => x.GetByEngagementId(It.IsAny <int>()))
            .Returns(_complianceSchemeEntities);
        }