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); }
public Pattern(PatternDto patternDto, PatternNode data) : base(patternDto.Key, patternDto.Description, patternDto.Languages, patternDto.FilenameWildcard) { Data = data; }