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()); }