public IActionResult PostNotaFiscal([FromBody] NotaFiscalDTO notaFiscalDTO) { try { if (notaFiscalDTO.Valor <= 0) { Response.StatusCode = 400; return(new ObjectResult(new { msg = "O Total não pode ser menor que 0.0" })); } Cliente cliente = new Cliente(); cliente = Database.Clientes.First(c => c.Id == notaFiscalDTO.ClienteId); if (cliente == null) { Response.StatusCode = 400; return(new ObjectResult(new { msg = $"Cliente com Id {notaFiscalDTO.ClienteId} não encontrado!" })); } NotaFiscal.Models.NotaFiscal nota = new NotaFiscal.Models.NotaFiscal(); nota.Valor = notaFiscalDTO.Valor; nota.DataEmissao = DateTime.Now; nota.Cliente = cliente; Database.NotasFiscais.Add(nota); foreach (var produtoNF in notaFiscalDTO.ProdutosNotaFiscalDTO) { ProdutoNotaFiscal produtonota = new ProdutoNotaFiscal(); produtonota.Quantidade = produtoNF.Quantidade; produtonota.Produto = Database.Produtos.First(p => p.Id == produtoNF.ProdutoId); produtonota.NotaFiscal = nota; Database.ProdutosNotaFiscal.Add(produtonota); } Database.SaveChanges(); Response.StatusCode = 201; return(new ObjectResult(new { msg = "Nota Fiscal salva com Sucesso!" })); } catch { Response.StatusCode = 401; return(new ObjectResult(new { msg = "Falha ao Salvar os Dados!" })); } }
public ProdutoNotaFiscal(int quantidade, NotaFiscal notaFiscal, Produto produto) { this.Quantidade = quantidade; this.NotaFiscal = notaFiscal; this.Produto = produto; }