public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            JObject       jObject             = JObject.Load(reader);
            var           languageFlagsString = (string)jObject[nameof(PatternDto.Languages)];
            LanguageFlags resultLanguages     = LanguageExt.ParseLanguages(languageFlagsString);

            var result = new PatternDto
            {
                Name             = (string)jObject[nameof(PatternDto.Name)] ?? "",
                Key              = (string)jObject[nameof(PatternDto.Key)] ?? "",
                Languages        = resultLanguages,
                FilenameWildcard = (string)jObject[nameof(PatternDto.FilenameWildcard)] ?? "",
                Value            = (string)jObject[nameof(PatternDto.Value)] ?? "",
                CweId            = (string)jObject[nameof(PatternDto.CweId)] ?? "",
                Description      = (string)jObject[nameof(PatternDto.Description)] ?? "",
            };
            var dataFormatString = (string)jObject[nameof(PatternDto.DataFormat)];
            UstNodeSerializationFormat format;

            if (dataFormatString != null && Enum.TryParse(dataFormatString, out format))
            {
                result.DataFormat = format;
            }

            return(result);
        }
Example #2
0
 public Pattern(PatternDto patternDto, PatternNode data)
     : base(patternDto.Key, patternDto.Description, patternDto.Languages, patternDto.FilenameWildcard)
 {
     Data = data;
 }