示例#1
0
        public async Task <IActionResult> PostAsync([FromBody] NewVendaDTO newVenda)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var venda = _mapper.Map <NewVendaDTO, Venda>(newVenda);

            Cashback cashback      = new Cashback();
            decimal  totalCashback = 0;
            decimal  totalVenda    = 0;

            for (int i = 0; i < venda.Produtos.Count; i++)
            {
                var produtoExistente = await _context.Discos.FindAsync(venda.Produtos[i].Id_Disco);

                if (produtoExistente == null)
                {
                    return(BadRequest());
                }
                venda.Produtos[i].Preco    = produtoExistente.Preco;
                venda.Produtos[i].Cashback = cashback.valorCashback(produtoExistente.Preco, produtoExistente.Genero, venda.Data);
                totalVenda    += venda.Produtos[i].Preco;
                totalCashback += venda.Produtos[i].Cashback;
            }
            venda.Vl_Total         = totalVenda;
            venda.Vl_TotalCashback = totalCashback;

            _context.Vendas.Add(venda);

            var result = _context.SaveChanges();

            //var newVendaDTO = _mapper.Map<Venda, NewVendaDTO>(venda);
            //return Ok(newVendaDTO);
            return(Ok(venda));
        }
        public async Task <ActionResult> GetDadosExternos(string genero)
        {
            string dados = await _dadosExternosClient.GetDataAsync(genero);

            var dadosExternos = JsonConvert.DeserializeObject <DadosExternosModel>(dados);

            Random random = new Random();


            foreach (var da in dadosExternos.albums.album)
            {
                var entrada = new Disco
                {
                    Nome    = da.name,
                    Artista = da.artist.name,
                    Preco   = random.Next(90, 301),
                    Genero  = genero
                };
                _context.Discos.Add(entrada);
                //
            }
            _context.SaveChanges();
            return(Ok());
        }