static void Main(string[] args) { using var httpClient = new HttpClient(); httpClient.Timeout = TimeSpan.FromSeconds(5); var dictionaryApi = new DictionaryApi(httpClient); var wordRequest = new DictionaryRequest { LanguageCode = args[0], Word = args[1] }; var wordResponse = dictionaryApi.GetWord(wordRequest); if (!wordResponse.Found) { C.WriteLine("The word/dictionary does not exist in this dictionary"); return; } C.WriteLine(wordResponse.Word.WordName); foreach (var meaning in wordResponse.Word.Meanings) { C.WriteLine($"- Meaning's part of speech: {meaning.PartOfSpeech}"); foreach (var definition in meaning.Type) { C.WriteLine($"-- Definition: {definition.Definition}"); C.WriteLine($"-- Example: {definition.Example}"); } } }
public async Task <IActionResult> Add([FromBody] DictionaryRequest request) { string accessToken = await HttpContext.GetToken(); var session = await sessionService.GetSession(accessToken); if (session == null) { return(Unauthorized(new { message = "Session expired. Please login again." })); } if (session.UserId != Constants.AdminUser) { return(BadRequest(new { message = "Not authorized" })); } try { var lexicon = new Lexicon { CreationDate = DateTime.Now, Language = request.Language, Description = request.Description, }; var words = request.Words.Select(w => new Word { Language = lexicon.Language, Name = w }); await log.InfoAsync($"Creating new Lexicon: [{lexicon.Language}]", context : session.UserId); var isOK = await wordRepository.AddDictionary(lexicon, words); if (isOK) { await log.InfoAsync($"New Lexicon Created: [{lexicon.Language}]", context : session.UserId); return(Ok(isOK)); } throw new ApplicationException("Lexicon creation failed"); } catch (Exception ex) { await log.ErrorAsync("Error in wordRepository.AddDictionary()", ex); return(BadRequest(new { title = ex.GetType().ToString(), details = ex.StackTrace, message = ex.Message })); } }
public void Bind_SimpleForm() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["JobKey"] = "test" }; Form1 form = (Form1)binder.Bind(typeof(Form1), request); Assert.That(form, Is.Not.Null); Assert.That(form.JobKey, Is.EqualTo("test")); }
public void Bind_NestedArray_ShouldBeCaseInsensitive() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["ITEMS[0].key"] = "key1" }; Form2 form = (Form2)binder.Bind(typeof(Form2), request); Assert.That(form, Is.Not.Null); Assert.That(form.Items, Is.Not.Null); Assert.That(form.Items.Length, Is.EqualTo(1)); Assert.That(form.Items[0].Key, Is.EqualTo("key1")); }
public void Bind_NestedArrayWrongKey_ShouldIgnore() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["Items[0]"] = "key1", ["Items[0].Key"] = "key2" }; Form2 form = (Form2)binder.Bind(typeof(Form2), request); Assert.That(form, Is.Not.Null); Assert.That(form.Items, Is.Not.Null); Assert.That(form.Items.Length, Is.EqualTo(1)); Assert.That(form.Items[0].Key, Is.EqualTo("key2")); }
public void Bind_NestedArray() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["Items[0].Key"] = "key1", ["Items[0].Value"] = "value1", ["Items[1].Key"] = "key2", ["Items[1].Value"] = "value2" }; Form2 form = (Form2)binder.Bind(typeof(Form2), request); Assert.That(form, Is.Not.Null); Assert.That(form.Items, Is.Not.Null); Assert.That(form.Items.Length, Is.EqualTo(2)); Assert.That(form.Items[0].Key, Is.EqualTo("key1")); Assert.That(form.Items[0].Value, Is.EqualTo("value1")); Assert.That(form.Items[1].Key, Is.EqualTo("key2")); Assert.That(form.Items[1].Value, Is.EqualTo("value2")); }