示例#1
0
        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!" }));
            }
        }
示例#2
0
 public ProdutoNotaFiscal(int quantidade, NotaFiscal notaFiscal, Produto produto)
 {
     this.Quantidade = quantidade;
     this.NotaFiscal = notaFiscal;
     this.Produto    = produto;
 }