private DomainSecurityInfo CreateOrganistionDomainSecurityInfo(DomainSecurityInfo domainSecurityInfo, DomainSecurityInfo orgDomainSecurityInfo) { return(new DomainSecurityInfo( domainSecurityInfo.Domain, orgDomainSecurityInfo.HasDmarc, domainSecurityInfo.TlsStatus, orgDomainSecurityInfo.DmarcStatus, domainSecurityInfo.SpfStatus)); }
private DomainSecurityInfo UpdateTlsStatus(List <CertificateEvaluatorApiResponse> response, DomainSecurityInfo domainSecurityInfo) { CertificateEvaluatorApiResponse evaluatorResult = response.FirstOrDefault(_ => _.DomainName == domainSecurityInfo.Domain.Name); if (evaluatorResult == null) { return(domainSecurityInfo); } int maxCertificateErrorSeverity = evaluatorResult.HostResults .Where(_ => _.HostName != null) .SelectMany(_ => _.Errors) .Select(_ => (int)_.ErrorType) .DefaultIfEmpty(0) .Max(); return((int)domainSecurityInfo.TlsStatus >= maxCertificateErrorSeverity ? domainSecurityInfo : new DomainSecurityInfo( domainSecurityInfo.Domain, domainSecurityInfo.HasDmarc, (Status)maxCertificateErrorSeverity, domainSecurityInfo.DmarcStatus, domainSecurityInfo.SpfStatus)); }