internal static CognitiveServicesAccount DeserializeCognitiveServicesAccount(JsonElement element) { if (element.TryGetProperty("@odata.type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "#Microsoft.Azure.Search.CognitiveServicesByKey": return(CognitiveServicesAccountKey.DeserializeCognitiveServicesAccountKey(element)); case "#Microsoft.Azure.Search.DefaultCognitiveServices": return(DefaultCognitiveServicesAccount.DeserializeDefaultCognitiveServicesAccount(element)); } } CognitiveServicesAccount result = new CognitiveServicesAccount(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } } return(result); }
internal Skillset(string name, string description, IList <Skill> skills, CognitiveServicesAccount cognitiveServicesAccount, string eTag) { Name = name; Description = description; Skills = skills; CognitiveServicesAccount = cognitiveServicesAccount; ETag = eTag; }
internal SearchIndexerSkillset(string name, string description, IList <SearchIndexerSkill> skills, CognitiveServicesAccount cognitiveServicesAccount, string Etag) { Name = name; Description = description; Skills = skills; CognitiveServicesAccount = cognitiveServicesAccount; _etag = Etag; }
internal static SearchIndexerSkillset DeserializeSearchIndexerSkillset(JsonElement element) { string name = default; string description = default; IList <SearchIndexerSkill> skills = default; CognitiveServicesAccount cognitiveServices = default; string odataEtag = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { description = property.Value.GetString(); continue; } if (property.NameEquals("skills")) { List <SearchIndexerSkill> array = new List <SearchIndexerSkill>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(SearchIndexerSkill.DeserializeSearchIndexerSkill(item)); } } skills = array; continue; } if (property.NameEquals("cognitiveServices")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } cognitiveServices = CognitiveServicesAccount.DeserializeCognitiveServicesAccount(property.Value); continue; } if (property.NameEquals("@odata.etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } odataEtag = property.Value.GetString(); continue; } } return(new SearchIndexerSkillset(name, description, skills, cognitiveServices, odataEtag)); }
internal static Skillset DeserializeSkillset(JsonElement element) { Skillset result = new Skillset(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { result.Description = property.Value.GetString(); continue; } if (property.NameEquals("skills")) { foreach (var item in property.Value.EnumerateArray()) { result.Skills.Add(Skill.DeserializeSkill(item)); } continue; } if (property.NameEquals("cognitiveServices")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.CognitiveServicesAccount = CognitiveServicesAccount.DeserializeCognitiveServicesAccount(property.Value); continue; } if (property.NameEquals("@odata.etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.ETag = property.Value.GetString(); continue; } } return(result); }