HA4IoT.PersonalAgent.SynonymServiceStorage.ConvertComponentStateSynonymsToJsonArray C# (CSharp) Method

ConvertComponentStateSynonymsToJsonArray() public method

public ConvertComponentStateSynonymsToJsonArray ( Dictionary synonyms ) : Newtonsoft.Json.Linq.JArray
synonyms Dictionary
return Newtonsoft.Json.Linq.JArray
        public JArray ConvertComponentStateSynonymsToJsonArray(Dictionary<ComponentState, HashSet<string>> synonyms)
        {
            if (synonyms == null) throw new ArgumentNullException(nameof(synonyms));

            var result = new JArray();
            foreach (var synonym in synonyms)
            {
                var item = new JObject
                {
                    ["ComponentState"] = synonym.Key.JToken,
                    ["Synonyms"] = ConvertSynonymsToJsonArray(synonym.Value)
                };

                result.Add(item);
            }

            return result;
        }

Usage Example

        public override void HandleApiRequest(IApiContext apiContext)
        {
            apiContext.Response.SetNamedObject("AreaSynonyms", _storage.ConvertAreaSynonymsToJsonObject(_areaSynonyms));

            apiContext.Response.SetNamedObject("ComponentSynonyms",
                                               _storage.ConvertComponentSynonymsToJsonObject(_componentSynonyms));

            apiContext.Response.SetNamedArray("ComponentStateSynonyms",
                                              _storage.ConvertComponentStateSynonymsToJsonArray(_componentStateSynonyms));
        }