public async Task <IActionResult> AdicionarProduto(string nome, int categoriaId, string descricao, string preco, int quantidadeEstoque, IFormFile imagem) { try { if (descricao == "undefined") { descricao = null; } var nomeImagem = await SalvarImagemAsync(imagem); var produto = new Produto { Ativo = true, CategoriaId = categoriaId, DataCadastro = DateTime.Now, Descricao = descricao, Nome = nome, Imagem = nomeImagem, Preco = Formatadores.FormataRealParaDecimal(preco), QuantidadeEstoque = quantidadeEstoque }; _produtoService.Adicionar(produto); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult EmitirRelatorio([FromQuery] eTipoRelatorio tipo, string dataInicio, string dataFim) { try { var(dados, pessoa) = _relatorioService.EmitirRelatorio(new RelatorioDto { Tipo = tipo, DataFim = DateTime.Parse(dataFim, new CultureInfo("pt-BR")), DataInicio = DateTime.Parse(dataInicio, new CultureInfo("pt-BR")) }); MemoryStream stream = new MemoryStream(); PdfWriter writer = new PdfWriter(stream); var pdf = new PdfDocument(writer); var document = new Document(pdf); document.Add(new Paragraph(tipo.GetDescription())); document.Add(new Paragraph($"Emissor: {pessoa?.Nome}")); document.Add(new Paragraph($"Período inicial: {dataInicio}")); document.Add(new Paragraph($"Período final: {dataFim}")); Table table = new Table(5).UseAllAvailableWidth(); table.AddHeaderCell(new Cell().Add(new Paragraph("Cliente"))); table.AddHeaderCell(new Cell().Add(new Paragraph("Data do pedido"))); table.AddHeaderCell(new Cell().Add(new Paragraph("Valor"))); table.AddHeaderCell(new Cell().Add(new Paragraph("Tipo do pagamento"))); table.AddHeaderCell(new Cell().Add(new Paragraph("Situação do pedido"))); foreach (var item in dados) { table.AddCell(new Cell().Add(new Paragraph(item.Usuario.Pessoa.Nome))); table.AddCell(new Cell().Add(new Paragraph(item.DataPedido.ToShortDateString()))); table.AddCell(new Cell().Add(new Paragraph(Formatadores.FormataDecimalParaReal(item.Valor)))); table.AddCell(new Cell().Add(new Paragraph(item.TipoPagamento.GetDescription()))); table.AddCell(new Cell().Add(new Paragraph(item.SituacaoPedido.GetDescription()))); } document.Add(table); document.Close(); return(File(stream.ToArray(), "application/pdf", "relatorio.pdf")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }