示例#1
0
        public async Task <MyLanguages> GetSourceLanguagesAsnyc()
        {
            var args   = PREFIX_ARGS;                                     // add path to base address
            var result = await dictionaryClient.GetAsync <dynamic>(args); // get results (deserialized JSON objects)

            if (result == null)                                           // if result is empty
            {
                return(new MyLanguages());
            }

            var languages = new MyLanguages  // store definition strings to return here
            {
                Languages = new SortedSet <string>()
            };

            // get languages from deserialized JSON:
            for (int i = 0; result.results != null && i < result.results.Count; i = i + 1)
            {
                if (result.results[i].type.ToString() == "monolingual")
                {
                    languages.Languages.Add(result.results[i].sourceLanguage.id.ToString());  // add language to the list
                }
            }
            //

            return(languages);
        }
示例#2
0
        public async Task <MyDefinition> GetDefinitionAsync(string word, string language)
        {
            var args   = PREFIX_ARGS + "/" + language + "/" + word;       // add path to base address
            var result = await dictionaryClient.GetAsync <dynamic>(args); // get results (deserialized JSON objects)

            if (result == null)                                           // if result is empty
            {
                return(new MyDefinition());
            }

            var meanings = new List <string>();  // store definition strings to return here

            // get definitions from deserialized JSON:
            for (int i = 0; result.results != null && i < result.results.Count; i = i + 1)
            {
                for (int j = 0; result.results[i].lexicalEntries != null && j < result.results[i].lexicalEntries.Count; j = j + 1)
                {
                    for (int k = 0; result.results[i].lexicalEntries[j].entries != null && k < result.results[i].lexicalEntries[j].entries.Count; k = k + 1)
                    {
                        for (int m = 0; result.results[i].lexicalEntries[j].entries[k].senses != null && m < result.results[i].lexicalEntries[j].entries[k].senses.Count; m = m + 1)
                        {
                            for (int n = 0; result.results[i].lexicalEntries[j].entries[k].senses[m].definitions != null && n < result.results[i].lexicalEntries[j].entries[k].senses[m].definitions.Count; n = n + 1)
                            {
                                var meaning = result.results[i].lexicalEntries[j].entries[k].senses[m].definitions[n].ToString();

                                meanings.Add(meaning);  // add meaning to the list
                            }
                        }
                    }
                }
            }
            //

            var definition = new MyDefinition  // create object to store definitions of word
            {
                Word     = word,
                Meanings = meanings
            };

            return(definition);
        }