Exemple #1
0
        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();
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        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);
        }