public void SetReview([NotNull] IMitigation mitigation, [NotNull] ReviewInfo info)
        {
            ReviewInfo result = null;

            var propertyType = GetReviewPropertyType();

            if (propertyType != null)
            {
                var property = mitigation.GetProperty(propertyType) ?? mitigation.AddProperty(propertyType, null);
                if (property is IPropertyJsonSerializableObject jsonSerializableObject)
                {
                    jsonSerializableObject.Value = info;
                }
            }
        }
        public ReviewInfo GetReview([NotNull] IMitigation mitigation)
        {
            ReviewInfo result = null;

            var propertyType = GetReviewPropertyType();

            if (propertyType != null)
            {
                var property = mitigation.GetProperty(propertyType) ?? mitigation.AddProperty(propertyType, null);
                if (property is IPropertyJsonSerializableObject jsonSerializableObject &&
                    jsonSerializableObject.Value is ReviewInfo reviewInfo)
                {
                    result = reviewInfo;
                }
            }

            return(result);
        }
예제 #3
0
        public static void SetStatus(this IMitigation mitigation, RoadmapStatus status)
        {
            var model = mitigation?.Model;

            if (model != null)
            {
                var schemaManager = new RoadmapPropertySchemaManager(model);
                var propertyType  = schemaManager.GetPropertyType();
                if (propertyType != null)
                {
                    var property = mitigation.GetProperty(propertyType);
                    if (property == null)
                    {
                        mitigation.AddProperty(propertyType, status.ToString());
                    }
                    else
                    {
                        property.StringValue = status.ToString();
                    }
                }
            }
        }
        public void SetFirstSeenOn([NotNull] IMitigation mitigation, Iteration info)
        {
            var iterationFirstSeenPropertyType = GetIterationFirstSeenPropertyType();
            var mitigationExposurePropertyType = GetMitigationExposurePropertyType();

            if (iterationFirstSeenPropertyType != null && mitigationExposurePropertyType != null)
            {
                var propertyFirstSeen          = mitigation.GetProperty(iterationFirstSeenPropertyType) ?? mitigation.AddProperty(iterationFirstSeenPropertyType, null);
                var propertyMitigationExposure = mitigation.GetProperty(mitigationExposurePropertyType) ?? mitigation.AddProperty(mitigationExposurePropertyType, null);
                if (propertyFirstSeen is IPropertyJsonSerializableObject firstSeen &&
                    propertyMitigationExposure is IPropertySingleLineString mitigationExposure)
                {
                    if (info == null)
                    {
                        firstSeen.StringValue          = null;
                        mitigationExposure.StringValue = null;
                    }
                    else
                    {
                        firstSeen.Value = new IterationInfo(info);
                        mitigationExposure.StringValue = GetMitigationExposure(mitigation);
                    }
                }
            }
        }