public async Task <EditValutaDto> AddValuta(PostValutaDto postValutaDto)
        {
            var httpClient = _httpClientFactory.CreateClient("valute");
            var url        = $"09a14a921f6de3a3c311a083/pair/HRK/{postValutaDto.Naziv}";
            var response   = await httpClient.GetAsync(url);

            var responseStream = await response.Content.ReadAsStreamAsync();

            var responseObject = await JsonSerializer.DeserializeAsync <KonverzijaValute>(responseStream);


            var korisnik = await _userManager.FindByNameAsync(postValutaDto.UserName);

            var valuta = new Valuta()
            {
                Naziv       = postValutaDto.Naziv,
                AktivnoOd   = postValutaDto.AktivnoOd,
                AktivnoDo   = postValutaDto.AktivnoDo,
                Tecaj       = responseObject.conversion_rate,
                SlikaValute = postValutaDto.SlikaValute,
                KorisnikId  = korisnik.Id
            };

            var role = _context.UserRoles
                       .Where(u => u.UserId == korisnik.Id)
                       .FirstOrDefault();

            if (role.RoleId != 2)
            {
                throw new Exception("Izabrani korisnik nije u funkciji moderatora i ne može biti zadužen za valutu.");
            }

            _context.Add(valuta);
            await _context.SaveChangesAsync();

            return(_mapper.Map <EditValutaDto>(valuta));
        }
Example #2
0
 public async Task <EditValutaDto> AddValuta(PostValutaDto postValutaDto)
 {
     return(await _service.AddValuta(postValutaDto));
 }