public async Task <ZahtjevDto> PostZahtjev(PostZahtjevDto postZahtjev)
        {
            var userName = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            var id       = _context.Korisnici.Where(k => k.UserName == userName)
                           .FirstOrDefault().Id;

            var prodajemValutu = await _context.Sredstva
                                 .Include(v => v.Valuta)
                                 .Where(k => k.KorisnikId == id && k.Valuta.Naziv == postZahtjev.ProdajemValuta)
                                 .FirstOrDefaultAsync();

            if (prodajemValutu == null)
            {
                throw new Exception("Ne posjedujete valutu koju želite prodati.");
            }

            var kupujemValutu = await _context.Valute
                                .Where(v => v.Naziv == postZahtjev.KupujemValuta)
                                .FirstOrDefaultAsync();

            var kupujemId = kupujemValutu.ValutaId;


            var raspoloziviIznos = _context.Sredstva
                                   .Include(v => v.Valuta)
                                   .Where(k => k.KorisnikId == id && k.Valuta.Naziv == postZahtjev.ProdajemValuta)

                                   .Select(k => new ZahtjevDto()
            {
                Iznos = k.Iznos
            })
                                   .FirstOrDefault().Iznos;


            if (postZahtjev.Iznos == 0)
            {
                throw new Exception("Iznos prodaje ne može biti 0");
            }

            if (raspoloziviIznos < postZahtjev.Iznos)
            {
                throw new Exception("Nemate dovoljno sredstava za prodaju");
            }

            var zahtjev = new Zahtjev
            {
                KorisnikId            = id,
                Iznos                 = postZahtjev.Iznos,
                ProdajemValutaId      = prodajemValutu.ValutaId,
                KupujemValutaId       = kupujemId,
                DatumVrijemeKreiranja = DateTime.Now,
                Prihvacen             = 1
            };

            _context.Zahtjevi.Add(zahtjev);

            await _context.SaveChangesAsync();

            return(_mapper.Map <ZahtjevDto>(zahtjev));
        }
 public async Task <ZahtjevDto> PostZahtjev(PostZahtjevDto postZahtjev)
 {
     return(await _service.PostZahtjev(postZahtjev));
 }