public void Execute(string accessToken, string baseUrl, HttpClient httpClient) { Console.Write("Unestite text:\n"); var input = Console.ReadLine(); var client = new WordCounterAPIClient(); var phraseCreateDto = new PhraseCreateDto { Text = input }; var result = client.CallClientCreatePhraseAsync(accessToken, baseUrl, httpClient, phraseCreateDto).Result; if (result == null) { Console.Write("Neuspešno cuvanje!:\n"); } else { Console.Write("Uspesno sacuvan text:\n"); Console.WriteLine("-----------"); Console.WriteLine("ID\t\tText"); Console.WriteLine("-----------"); Console.WriteLine("{0}\t\t{1}", result.Id, result.Text); } Console.ReadLine(); }
public async Task <ActionResult <PhraseReadDto> > CreatePhrase([FromBody][Required] PhraseCreateDto phraseCreateDto) { try { var createdPhrase = await _phraseService.CreatePhrase(phraseCreateDto); return(CreatedAtRoute(nameof(GetPhraseById), new { Id = createdPhrase.Id }, createdPhrase)); } catch (ArgumentNullException ex) { return(BadRequest(ex)); } }
public async Task <PhraseReadDto> CreatePhrase(PhraseCreateDto phraseCreateDto) { var phraseItem = _mapper.Map <Phrase>(phraseCreateDto); if (phraseItem == null) { throw new ArgumentNullException(nameof(phraseItem)); } using (var sqlTxn = _unitOfWork.Begin()) { _repository.CreatePhrase(phraseItem); _repository.SaveChanges(); sqlTxn.Commit(); } return(_mapper.Map <PhraseReadDto>(phraseItem)); }
public async Task <PhraseReadDto> CallClientCreatePhraseAsync(string accessToken, string baseUrl, HttpClient httpClient, PhraseCreateDto phraseCreateDto) { if (accessToken != null) { var path = baseUrl + "/api/wordcounter"; var defaultRequestHeaders = httpClient.DefaultRequestHeaders; if (defaultRequestHeaders.Accept == null || defaultRequestHeaders.Accept.Any(m => m.MediaType == "application/json")) { httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); } defaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", accessToken); HttpResponseMessage response = await httpClient.PostAsJsonAsync(path, phraseCreateDto); if (response.IsSuccessStatusCode) { var responceBody = await response.Content.ReadAsAsync <PhraseReadDto>(); return(responceBody); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Failed to call the Web Api: {response.StatusCode}"); string content = await response.Content.ReadAsStringAsync(); Console.WriteLine($"Content: {content}"); } Console.ResetColor(); return(null); } return(null); }