コード例 #1
0
        private void dgvOrdem_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == 10 && e.RowIndex >= 0)
                {
                    DataGridViewRow row = this.dgvOrdem.Rows[e.RowIndex];

                    using (frmOrdemEdita form = new frmOrdemEdita(this))
                    {
                        form.IdEntrada = Convert.ToInt32(row.Cells["EntradaId"].Value);
                        form.ShowDialog();
                    }

                    CarregaOrdem();
                }

                if (e.ColumnIndex == 11 && e.RowIndex >= 0)
                {
                    DataGridViewRow row = this.dgvOrdem.Rows[e.RowIndex];
                    if (MessageBox.Show("Deseja excluir o item selecionada?", "Informação,", MessageBoxButtons.OKCancel) == DialogResult.OK)
                    {
                        int id = Convert.ToInt32(row.Cells["EntradaId"].Value);
                        dgvOrdem.Rows.RemoveAt(e.RowIndex);
                        dgvOrdem.Update();
                        SomaSaida();
                        EntradaController.Delete(id);
                    }
                }
            }
            catch (Exception ex)
            {
                frmErro.Mensagem(ex.Message);
            }
        }
コード例 #2
0
        private void btnFiltrar_Click(object sender, EventArgs e)
        {
            List <string> Campos  = new List <string>();
            List <string> Valores = new List <string>();

            if (txtOrdem.Text.Length > 0)
            {
                Campos.Add("Ordem");
                Valores.Add(txtOrdem.Text);
            }
            if (cmbCategoria.Text.Length > 0)
            {
                Campos.Add("T.Categoria");
                Valores.Add(cmbCategoria.Text);
            }

            if (cmbComprador.Text.Length > 0)
            {
                Campos.Add("Comprador");
                Valores.Add(cmbComprador.Text);
            }

            if (cmbFornecedor.Text.Length > 0)
            {
                Campos.Add("NomeFantasia");
                Valores.Add(cmbFornecedor.Text);
            }

            ExibirEntradas(EntradaController.Consulta(Campos, Valores));
            SomaSaida();
        }
コード例 #3
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                int fornecedorid = FornecedorController.GetIdfornecedor(cmbFornecedor.Text);
                int produtoid    = ProdutosController.GetIdProduto(cmbProduto.Text);

                EntradaModel em = new EntradaModel
                {
                    EntradaId     = IdEntrada,
                    ProdutoId     = produtoid,
                    FornecedorId  = fornecedorid,
                    Ordem         = txtOrdem.Text,
                    Quantidade    = txtQuantidade.Text,
                    DataEntrada   = DateTime.Parse(txtData.Text).ToString("yyyy/MM/dd"),
                    Preco         = txtPreco.Text,
                    Desconto      = txtComDesconto.Text,
                    Total         = lblTotal.Text,
                    DescontoTotal = txtDescontoFinal.Text,
                    Categoria     = cmbCategoria.Text,
                    Comprador     = cmbComprador.Text
                };

                EntradaController.Update(em);
                frmordem.CarregaOrdem();

                frmSuccess.Mensagem("Atualizado com Sucesso!!!");
                this.Close();
            }
            catch (Exception ex)
            {
                frmErro.Mensagem(ex.Message);
            }
        }
コード例 #4
0
ファイル: frmEntrada.cs プロジェクト: markilha/maos_a_obra
        private void btnFechar_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult resultado = DialogResult;

                using (frmErro form = new frmErro("Deseja Realmente fechar a compra?"))
                {
                    resultado = form.ShowDialog();

                    if (resultado == DialogResult.OK)
                    {
                        if (cmbFornecedor.Text.Length < 3)
                        {
                            frmSuccess.Mensagem("Favor Cadastrar um Fornecedor!!!!");
                            return;
                        }

                        if (txtData.Text.Length < 3)
                        {
                            frmSuccess.Mensagem("Favor Cadastrar uma Data!!!");
                            return;
                        }
                        if (dgvSaida.Rows.Count > 0)
                        {
                            foreach (DataGridViewRow dt in dgvSaida.Rows)
                            {
                                int fornecedor = FornecedorController.GetIdfornecedor(cmbFornecedor.Text);

                                EntradaModel em = new EntradaModel();
                                em.ProdutoId     = Convert.ToInt32(dt.Cells["id2"].Value);
                                em.FornecedorId  = fornecedor;
                                em.Ordem         = txtOrdem.Text;
                                em.Quantidade    = dt.Cells["quantidade"].Value.ToString();
                                em.DataEntrada   = DateTime.Parse(txtData.Text).ToString("yyyy/MM/dd");
                                em.Preco         = dt.Cells["preco2"].Value.ToString();
                                em.Desconto      = dt.Cells["Desconto"].Value.ToString();
                                em.Total         = dt.Cells["subtotal"].Value.ToString();
                                em.DescontoTotal = txtDescontoTotal.Text;
                                em.Categoria     = dt.Cells["Categoria"].Value.ToString();
                                em.Comprador     = cmbComprador.Text.ToUpper();

                                EntradaController.Add(em);
                            }
                            dgvSaida.Rows.Clear();
                        }

                        txtOrdem.Text = EntradaController.GetUltimaOrdem();
                    }
                }
            }
            catch (Exception ex)
            {
                frmSuccess.Mensagem("Ocorreu erro ao executar a finalização da compra: " + ex);
            }
        }
コード例 #5
0
        private void Consulta(string Campo, bool busca)
        {
            List <string> lista = new List <string>();

            lista = EntradaController.GetLista(Campo);
            double Total = TotalGastro();



            if (lista.Count > 0)
            {
                foreach (string item in lista)
                {
                    double    valor   = 0;
                    DataTable valores = EntradaController.GetSqlEntradas($"SELECT Total FROM Entradas WHERE UPPER({Campo}) = '{item.ToUpper()}' ORDER BY {Campo}");
                    string    eixoY   = item;

                    #region Busca
                    if (busca == true)
                    {
                        switch (Campo)
                        {
                        case "FornecedorId":
                            eixoY = EntradaController.GetString($"SELECT NomeFantasia FROM Fornecedores where Id ='{item}'", "NomeFantasia");
                            break;

                        case "ProdutoId":
                            eixoY = EntradaController.GetString($"SELECT descricao FROM Produtos where id ='{item}'", "descricao");
                            break;
                        }
                    }
                    #endregion


                    if (valores.Rows.Count > 0)
                    {
                        valor = 0;
                        foreach (DataRow dr in valores.Rows)
                        {
                            if (dr["Total"].ToString().Length > 0)
                            {
                                valor += Convert.ToDouble(dr["Total"].ToString());
                            }
                        }
                    }

                    double porcentagem = Util.Porcentagem(valor, Total);
                    Grafico.Series["ChartValores"].Label = "#PERCENT";
                    Grafico.Series["ChartValores"].Points.AddXY(eixoY, porcentagem);
                }
            }

            Grafico.Titles["Titulo"].Text = $"Total gasto: R$ {Total.ToString("N2")}";
        }
コード例 #6
0
 private void txtData_KeyUp(object sender, KeyEventArgs e)
 {
     try
     {
         DataTable dt = EntradaController.GetEntradas("DataEntrada", txtData.Text);
         ExibirEntradas(dt);
         SomaSaida();
     }
     catch
     {
     }
 }
コード例 #7
0
 private void txtProduto_KeyUp(object sender, KeyEventArgs e)
 {
     try
     {
         DataTable dt = EntradaController.GetEntradas("R.DESCRICAO", txtProduto.Text);
         ExibirEntradas(dt);
         SomaSaida();
     }
     catch
     {
     }
 }
コード例 #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            DataTable dt = EntradaController.GetEntradas();

            foreach (DataRow dr in dt.Rows)
            {
                string data = DateTime.Parse(dr["DataEntrada"].ToString()).ToString("yyyy/MM/dd");

                string sql = $"UPDATE ENTRADAS SET DATAENTRADA = '{data}' WHERE ENTRADAID = '{dr["EntradaId"].ToString()}'";
                DalHelper.ExecutaQuery(sql);
            }

            MessageBox.Show("Feito");
        }
コード例 #9
0
 private void cmbFornecedor_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         int       id = FornecedorController.GetIdfornecedor(cmbFornecedor.Text);
         DataTable dt = EntradaController.GetEntradas($"SELECT * FROM Entradas WHERE FornecedorId ={id} ORDER BY DataEntrada;");
         ExibirEntradas(dt);
         SomaSaida();
     }
     catch (Exception ex)
     {
         frmErro frm = new frmErro("Ocorreu um erro: " + ex.Message);
     }
 }
コード例 #10
0
        private void Variacao()
        {
            try
            {
                DataTable dt = EntradaController.GetSqlEntradas("SELECT ProdutoId, preco FROM Entradas ORDER by ProdutoId");


                if (dt.Rows.Count > 0)
                {
                    string descricaoAnt = "";
                    double precoAnt     = 0;
                    double Varicao      = 0;

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        string descricao = ProdutosController.GetStringProduto((int)dt.Rows[i]["ProdutoId"]);
                        double Preco     = Convert.ToDouble(dt.Rows[i]["Preco"].ToString());

                        if (i > 0)
                        {
                            if (descricao == descricaoAnt)
                            {
                                Varicao = ((Preco - precoAnt) / precoAnt) * 100;

                                if (Varicao > 0)
                                {
                                    Grafico.Series["ChartValores"].Label = "#PERCENT";
                                    Grafico.Series["ChartValores"].Points.AddXY(descricao, Varicao);
                                }
                            }

                            descricaoAnt = descricao;
                            precoAnt     = Preco;
                        }
                        else
                        {
                            descricaoAnt = descricao;
                            precoAnt     = Preco;
                        }
                    }

                    Grafico.Titles["Titulo"].Text = "Variação do Preço";
                }
            }
            catch (Exception ex)
            {
                frmErro frm = new frmErro("Ocorreu um erro no calculo da variação: " + ex.Message);
                frm.ShowDialog();
            }
        }
コード例 #11
0
        private double TotalGastro()
        {
            double    Total  = 0;
            DataTable totais = EntradaController.GetSqlEntradas($"SELECT Total FROM Entradas;");

            if (totais.Rows.Count > 0)
            {
                foreach (DataRow dr in totais.Rows)
                {
                    double valor = Convert.ToDouble(dr["Total"].ToString());
                    Total += valor;
                }
            }
            return(Total);
        }
コード例 #12
0
 public void CarregaOrdem()
 {
     try
     {
         DataTable dt = EntradaController.Consulta(new List <string> {
             "ORDEM"
         }, new List <string> {
             txtOrdem.Text
         });
         ExibirEntradas(dt);
         SomaSaida();
     }
     catch
     {
     }
 }
コード例 #13
0
ファイル: frmEntrada.cs プロジェクト: markilha/maos_a_obra
 private void frmEntrada_Load(object sender, EventArgs e)
 {
     try
     {
         DateTime data = DateTime.Now.Date;
         txtData.Text = data.ToString("dd/MM/yyyy");
         CarregaFornecedores();
         txtOrdem.Text = EntradaController.GetUltimaOrdem();
         CarregaCampos();
         txtCodigoBarra.Focus();
         Util.CarregaCombo("Entradas", "Comprador", cmbComprador);
     }
     catch (Exception ex)
     {
         frmErro.Mensagem(ex.Message);
     }
 }
コード例 #14
0
        private void MaoObraMaterial()
        {
            List <string> lista = new List <string>();

            lista = EntradaController.GetLista("Categoria");
            double TotalMo = 0;
            double TotalMa = 0;
            double Total   = TotalGastro();

            if (lista.Count > 0)
            {
                foreach (string item in lista)
                {
                    DataTable valores = EntradaController.GetSqlEntradas($"SELECT Total FROM Entradas WHERE Categoria = '{item}' ORDER BY Categoria");

                    if (valores.Rows.Count > 0)
                    {
                        foreach (DataRow dr in valores.Rows)
                        {
                            if (item == "Mão de Obra")
                            {
                                if (dr["Total"].ToString().Length > 0)
                                {
                                    TotalMo += Convert.ToDouble(dr["Total"].ToString());
                                }
                            }
                            else
                            {
                                if (dr["Total"].ToString().Length > 0)
                                {
                                    TotalMa += Convert.ToDouble(dr["Total"].ToString());
                                }
                            }
                        }
                    }
                }


                Grafico.Series["ChartValores"].Label = "#PERCENT";
                Grafico.Series["ChartValores"].Points.AddXY("Mão de Obra", Util.Porcentagem(TotalMo, Total));
                Grafico.Series["ChartValores"].Points.AddXY("Materiais", Util.Porcentagem(TotalMa, Total));
            }

            Grafico.Titles["Titulo"].Text = $"Total gasto: R$ {Total.ToString("N2")}";
        }
コード例 #15
0
ファイル: frmEntrada.cs プロジェクト: markilha/maos_a_obra
        public void CarregaCampos()
        {
            DataTable dts = FornecedorController.GetSqlfornecedores("select distinct NomeFantasia from Fornecedores order by NomeFantasia;");

            Util.AutoCompleta(dts, cmbFornecedor);

            DataTable dtd = ProdutosController.GetProdutos("select distinct descricao from Produtos order by descricao;");

            Util.AutoCompleta(dtd, txtDescricao);

            DataTable dtc = EntradaController.GetSqlEntradas("select distinct Categoria from Entradas order by Categoria;");

            Util.AutoCompleta(dtc, txtCategoria);

            DataTable dtco = EntradaController.GetSqlEntradas("select distinct Comprador from Entradas order by Comprador;");

            Util.AutoCompleta(dtco, cmbComprador);
        }
コード例 #16
0
        private void CarregaForme()
        {
            try
            {
                EntradaModel  en = EntradaController.GetEntradaModel(IdEntrada);
                ProdutosModel pm = ProdutosController.GetProdutoModel(en.ProdutoId);


                cmbFornecedor.Text    = FornecedorController.GetStringfornecedor(en.FornecedorId);
                cmbComprador.Text     = en.Comprador;
                cmbProduto.Text       = pm.descricao;
                txtOrdem.Text         = en.Ordem;
                txtData.Text          = en.DataEntrada;
                txtPreco.Text         = en.Preco;
                txtDesconto.Text      = pm.desconto.ToString();
                txtComDesconto.Text   = en.Desconto;
                txtQuantidade.Text    = en.Quantidade.ToString();
                txtDescontoFinal.Text = en.DescontoTotal;
                lblTotal.Text         = en.Total;

                DataTable produtos = ProdutosController.GetProdutos("SELECT DISTINCT categoria FROM Produtos;");

                cmbCategoria.Items.Clear();
                if (produtos.Rows.Count > 0)
                {
                    foreach (DataRow dr in produtos.Rows)
                    {
                        cmbCategoria.Items.Add(dr["categoria"].ToString());
                    }
                }

                cmbCategoria.Text = en.Categoria;
            }
            catch (Exception ex)
            {
                frmErro.Mensagem(ex.Message);
            }
        }
コード例 #17
0
ファイル: Entrada.cs プロジェクト: talesmm14/Sharp-Atacadista
        private void btnCadastrar_Click(object sender, EventArgs e)
        {
            EntradaController con = new EntradaController();
            Lote obj = new Lote();

            obj.Tipo_estoque   = cbEstoqueTipo.Text;
            obj.Dias_validade  = (DateTime)validadeDias.Value;
            obj.Peso_kg        = (Decimal)pesoKg.Value;
            obj.Qtd_estoque    = (int)estoque.Value;
            obj.Item           = ItemDAO.findById((int)cbItem.SelectedValue);
            obj.Fornecedor     = FornecedorDAO.findById((int)cbFornecedor.SelectedValue);
            obj.Valor_compra   = (Decimal)valorCompra.Value;
            obj.DataFabricacao = (DateTime)dtFabricacao.Value;
            obj.Codigo         = (String)tbxCodigo.Text;

            if (cbEstoqueTipo.SelectedValue != null || pesoKg.Value != 0 || estoque.Value != 0 ||
                cbItem.SelectedValue != null || cbFornecedor.SelectedValue != null || valorCompra.Value != 0 ||
                tbxCodigo.Text != "")
            {
                if (con.cadastrarLote(obj))
                {
                    MessageBox.Show("Cadastro realizado!!");
                    pesoKg.Value  = 0;
                    estoque.Value = 0;
                    cbEstoqueTipo.SelectedIndex = 0;
                    cbItem.SelectedIndex        = 0;
                    cbFornecedor.SelectedIndex  = 0;
                    valorCompra.Value           = 0;
                    tbxCodigo.Text = "";
                }
                else
                {
                    MessageBox.Show("Cadastro não realizado!!");
                }
            }
        }
コード例 #18
0
ファイル: Principal.cs プロジェクト: markilha/maos_a_obra
        private void GeraReltatorio()
        {
            string pasta = Diretorio.CaminhoSalva("Aquivos pdf|*.pdf", "", "");

            using (var doc = new Document(iTextSharp.text.PageSize.A4, 40, 40, 50, 50))
            {
                PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream(pasta, FileMode.CreateNew));
                doc.Open();

                PdfPTable pdfTable = new PdfPTable(new float[] { 100f });
                pdfTable.WidthPercentage = 100f;
                Pdf.AddCelula(1, 0, FontTitulo, pdfTable, $"Relatorio Gastros por Fornecedores\n\n");
                doc.Add(pdfTable);

                PdfPTable pdfTable2 = new PdfPTable(new float[] { 70f, 30f });
                pdfTable2.WidthPercentage = 100f;
                Pdf.AddCelula(Element.ALIGN_CENTER, Rectangle.NO_BORDER, FontSubTitulo, pdfTable2, "FORNECEDOR");
                Pdf.AddCelula(Element.ALIGN_CENTER, Rectangle.NO_BORDER, FontSubTitulo, pdfTable2, "SUBTOTAL");
                doc.Add(pdfTable2);

                List <string> lista = new List <string>();
                lista = EntradaController.GetLista("FornecedorId");

                double    total = 0;
                DataTable dt    = new DataTable();
                dt.Columns.Add("Fornecedor");
                dt.Columns.Add("Valor");

                if (lista.Count > 0)
                {
                    foreach (string item in lista)
                    {
                        double    valor      = 0;
                        DataTable valores    = EntradaController.GetSqlEntradas($"SELECT Total FROM Entradas WHERE FornecedorId = '{item}' ORDER BY FornecedorId ");
                        string    fornecedor = EntradaController.GetString($"SELECT NomeFantasia FROM Fornecedores where Id ='{item}'", "NomeFantasia");


                        if (valores.Rows.Count > 0)
                        {
                            foreach (DataRow dr in valores.Rows)
                            {
                                if (dr["Total"].ToString().Length > 0)
                                {
                                    valor += Convert.ToDouble(dr["Total"].ToString());
                                }
                            }
                        }



                        dt.Rows.Add(fornecedor, valor.ToString("N2"));

                        total += valor;
                    }
                }

                dt.DefaultView.Sort = "Fornecedor ASC";
                dt = dt.DefaultView.ToTable();

                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        PdfPTable pdfTable3 = new PdfPTable(new float[] { 70f, 30f });
                        pdfTable3.WidthPercentage = 100f;
                        Pdf.AddCelula(Element.ALIGN_LEFT, Rectangle.LEFT_BORDER, FontLinhas, pdfTable3, dr["Fornecedor"].ToString());
                        Pdf.AddCelula(Element.ALIGN_RIGHT, Rectangle.LEFT_BORDER, FontLinhas, pdfTable3, dr["Valor"].ToString());
                        doc.Add(pdfTable3);
                    }
                }

                PdfPTable pdfTable4 = new PdfPTable(new float[] { 70f, 30f });
                pdfTable4.WidthPercentage    = 100f;
                pdfTable4.DefaultCell.Border = Rectangle.BOTTOM_BORDER;
                Pdf.AddCelula(Element.ALIGN_RIGHT, 0, FontLinhas, pdfTable4, "");
                Pdf.AddCelula(Element.ALIGN_RIGHT, 0, FontTotais, pdfTable4, $"Total: {total.ToString("N2")}");
                doc.Add(pdfTable4);


                //doc.Add(Pdf.addParagrafoCentro("Relatório\n\n", Element.ALIGN_CENTER, FontTitulo));


                doc.Close();
                System.Diagnostics.Process.Start(pasta);
            }
        }
コード例 #19
0
ファイル: Principal.cs プロジェクト: markilha/maos_a_obra
        private void GeraReltatorioComprador()
        {
            string pasta = Diretorio.CaminhoSalva("Aquivos pdf|*.pdf", "", "RolComprador");

            using (var doc = new Document(iTextSharp.text.PageSize.A4, 40, 40, 50, 50))
            {
                PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream(pasta, FileMode.CreateNew));
                doc.Open();

                PdfPTable pdfTable = new PdfPTable(new float[] { 100f });
                pdfTable.WidthPercentage = 100f;
                Pdf.AddCelula(1, 0, FontTitulo, pdfTable, $"Relatorio Gastros por Compradores\n\n");
                doc.Add(pdfTable);



                List <string> lista = new List <string>();
                lista = EntradaController.GetLista("Comprador");
                lista.Sort();

                double        total      = 0;
                List <string> listaTotal = new List <string>();



                if (lista.Count > 0)
                {
                    foreach (string item in lista)
                    {
                        PdfPTable pdfTable3 = new PdfPTable(new float[] { 100f });
                        pdfTable3.WidthPercentage = 100f;
                        Pdf.AddCelula(Element.ALIGN_CENTER, Rectangle.LEFT_BORDER, FontSubTitulo, pdfTable3, item);
                        doc.Add(pdfTable3);

                        PdfPTable pdfTable2 = new PdfPTable(new float[] { 20f, 60f, 20f });
                        pdfTable2.WidthPercentage = 100f;
                        Pdf.AddCelula(Element.ALIGN_CENTER, Rectangle.NO_BORDER, FontSubTitulo, pdfTable2, "DATA");
                        Pdf.AddCelula(Element.ALIGN_CENTER, Rectangle.NO_BORDER, FontSubTitulo, pdfTable2, "PRODUTO");
                        Pdf.AddCelula(Element.ALIGN_CENTER, Rectangle.NO_BORDER, FontSubTitulo, pdfTable2, "SUBTOTAL");
                        doc.Add(pdfTable2);

                        double    valor   = 0;
                        DataTable valores = EntradaController.GetSqlEntradas($"SELECT DATAENTRADA, PRODUTOID,Total FROM Entradas WHERE Comprador = '{item}' ORDER BY DATAENTRADA DESC ");


                        if (valores.Rows.Count > 0)
                        {
                            foreach (DataRow dr in valores.Rows)
                            {
                                string produto = ProdutosController.GetStringProduto(int.Parse(dr["ProdutoId"].ToString()));
                                string data    = DateTime.Parse(dr["DataEntrada"].ToString()).ToString("dd/MM/yyyy");

                                if (dr["Total"].ToString().Length > 0)
                                {
                                    valor += Convert.ToDouble(dr["Total"].ToString());
                                }

                                PdfPTable tab = new PdfPTable(new float[] { 15f, 65f, 20f });
                                tab.WidthPercentage = 100f;
                                Pdf.AddCelula(Element.ALIGN_LEFT, Rectangle.LEFT_BORDER, FontLinhas, tab, data);
                                Pdf.AddCelula(Element.ALIGN_LEFT, Rectangle.LEFT_BORDER, FontLinhas, tab, produto);
                                Pdf.AddCelula(Element.ALIGN_RIGHT, Rectangle.LEFT_BORDER, FontLinhas, tab, dr["Total"].ToString());
                                doc.Add(tab);
                            }
                        }

                        listaTotal.Add($"{item};{valor.ToString("N2")}");

                        doc.Add(Pdf.addParagrafoCentro("\n\n", Element.ALIGN_CENTER, FontTitulo));
                    }
                }


                if (listaTotal.Count > 0)
                {
                    foreach (string item in listaTotal)
                    {
                        string[] vetor = item.Split(';');

                        PdfPTable tab3 = new PdfPTable(new float[] { 80f, 20f });
                        tab3.WidthPercentage    = 100f;
                        tab3.DefaultCell.Border = Rectangle.BOTTOM_BORDER;
                        Pdf.AddCelula(Element.ALIGN_RIGHT, 0, FontLinhas, tab3, vetor[0] + ": ");
                        Pdf.AddCelula(Element.ALIGN_RIGHT, 0, FontTotais, tab3, $"R$ {vetor[1]}");
                        doc.Add(tab3);

                        total += double.Parse(vetor[1]);
                    }
                }

                PdfPTable pdfTable4 = new PdfPTable(new float[] { 70f, 30f });
                pdfTable4.WidthPercentage    = 100f;
                pdfTable4.DefaultCell.Border = Rectangle.BOTTOM_BORDER;
                Pdf.AddCelula(Element.ALIGN_RIGHT, 0, FontLinhas, pdfTable4, "");
                Pdf.AddCelula(Element.ALIGN_RIGHT, 0, FontTotais, pdfTable4, $"Total: {total.ToString("N2")}");
                doc.Add(pdfTable4);


                //doc.Add(Pdf.addParagrafoCentro("Relatório\n\n", Element.ALIGN_CENTER, FontTitulo));


                doc.Close();
                System.Diagnostics.Process.Start(pasta);
            }
        }
コード例 #20
0
ファイル: Principal.cs プロジェクト: markilha/maos_a_obra
        private void GeraReltatorioProduto()
        {
            string pasta = Diretorio.CaminhoSalva("Aquivos pdf|*.pdf", "", "");

            using (var doc = new Document(iTextSharp.text.PageSize.A4, 40, 40, 50, 50))
            {
                PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream(pasta, FileMode.CreateNew));
                doc.Open();

                //Titulo do documento
                doc.Add(Pdf.addParagrafoCentro("Relatório dos Materiais utilizados\n\n", Element.ALIGN_CENTER, FontTitulo));
                InserirLinha(doc, new float[] { 10f, 70f, 20f }, Rectangle.NO_BORDER, new List <int> {
                    Element.ALIGN_CENTER, Element.ALIGN_CENTER, Element.ALIGN_CENTER
                }, FontSubTitulo, new List <string> {
                    "QT", "Produto", "SubTotal"
                });

                List <string> lista         = new List <string>();
                List <string> ListaProdutos = new List <string>();
                lista = EntradaController.GetLista("Categoria");
                double Total = 0;

                if (lista.Count > 0)
                {
                    foreach (string item in lista)
                    {
                        double TotalCategoria = 0;
                        doc.Add(Pdf.addParagrafoCentro("\n", Element.ALIGN_CENTER, FontTitulo));

                        InserirLinha(doc, new float[] { 100f }, Rectangle.NO_BORDER, new List <int> {
                            Element.ALIGN_CENTER
                        }, FontTitulo, new List <string> {
                            item.ToUpper()
                        });



                        DataTable valores = EntradaController.GetSqlEntradas($"SELECT * FROM Entradas WHERE Categoria = '{item}' ORDER BY Categoria ");

                        //DataRow[] result = valores.Select("Date > #6/1/2001#");
                        List <string> produtos = new List <string>();

                        if (valores.Rows.Count > 0)
                        {
                            foreach (DataRow dr in valores.Rows)
                            {
                                string produto = ProdutosController.GetStringProduto(Convert.ToInt32(dr["ProdutoId"].ToString()));
                                produtos.Add(produto);
                            }
                        }
                        produtos.Sort();
                        string anterior = "";


                        if (produtos.Count > 0)
                        {
                            foreach (string prod in produtos)
                            {
                                if (prod != anterior)
                                {
                                    int    id       = ProdutosController.GetIdProduto(prod);
                                    double contar   = 0;
                                    double subtotal = 0;

                                    DataTable dt = EntradaController.GetSqlEntradas($"SELECT * FROM Entradas WHERE ProdutoId = {id} ");
                                    if (dt.Rows.Count > 0)
                                    {
                                        foreach (DataRow dr in dt.Rows)
                                        {
                                            contar   += Convert.ToDouble(dr["Quantidade"]);
                                            subtotal += Convert.ToDouble(dr["Total"]);
                                        }
                                    }

                                    InserirLinha(doc, new float[] { 10f, 70f, 20f }, Rectangle.LEFT_BORDER, new List <int> {
                                        Element.ALIGN_LEFT, Element.ALIGN_LEFT, Element.ALIGN_RIGHT
                                    }, FontLinhas, new List <string> {
                                        contar.ToString(), prod, "R$ " + subtotal.ToString("N2")
                                    });
                                    Total          += subtotal;
                                    TotalCategoria += subtotal;
                                }

                                anterior = prod;
                            }
                        }
                        InserirLinha(doc, new float[] { 10f, 20f, 70f }, Rectangle.NO_BORDER, new List <int> {
                            Element.ALIGN_RIGHT, Element.ALIGN_RIGHT, Element.ALIGN_RIGHT
                        }, FontTotais, new List <string> {
                            "", "", " SUBTOTAL = R$ " + TotalCategoria.ToString("N2")
                        });
                    }
                }

                InserirLinha(doc, new float[] { 10f, 20f, 70f }, Rectangle.NO_BORDER, new List <int> {
                    Element.ALIGN_RIGHT, Element.ALIGN_RIGHT, Element.ALIGN_RIGHT
                }, FontTotais, new List <string> {
                    "", "", " TOTAL = R$ " + Total.ToString("N2")
                });
                doc.Close();
                System.Diagnostics.Process.Start(pasta);
            }
        }
コード例 #21
0
ファイル: Principal.cs プロジェクト: markilha/maos_a_obra
        private void GeraReltatorioOrdem()
        {
            try
            {
                string pasta = Diretorio.CaminhoSalva("Aquivos pdf|*.pdf", "", "RelatorioPorOrdem");

                using (var doc = new Document(iTextSharp.text.PageSize.A4, 40, 40, 50, 50))
                {
                    PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream(pasta, FileMode.CreateNew));
                    doc.Open();

                    //Titulo do documento
                    doc.Add(Pdf.addParagrafoCentro("Relatório das Ordens\n\n", Element.ALIGN_CENTER, FontTitulo));

                    double Total = 0;


                    doc.Add(Pdf.addParagrafoCentro("\n", Element.ALIGN_CENTER, FontTitulo));

                    //Todos as entrada de um determinada data
                    DataTable valores     = EntradaController.GetSqlEntradas("SELECT A.Ordem, B.NomeFantasia, A.DataEntrada, A.quantidade, C.descricao, A.total FROM Entradas as A INNER JOIN Fornecedores as B ON B.Id = A.FornecedorId INNER JOIN Produtos as C on C.Id = A.ProdutoId ORDER by A.DataEntrada DESC;");
                    string    stringOrdem = "";
                    bool      inicio      = true;
                    double    TotalOrdem  = 0;

                    if (valores.Rows.Count > 0)
                    {
                        foreach (DataRow dr in valores.Rows)
                        {
                            DateTime dt   = DateTime.Parse(dr["DATAENTRADA"].ToString());
                            string   data = dt.ToString("dd/MM/yyyy");

                            //var filteredDataTable = valores.Select($"Ordem = '{ordem}'");

                            if (dr["ORDEM"].ToString() != stringOrdem)
                            {
                                if (inicio == true)
                                {
                                    InserirLinha(doc, new float[] { 100f }, Rectangle.NO_BORDER, new List <int> {
                                        Element.ALIGN_LEFT
                                    }, FontLinhas, new List <string> {
                                        $"ORDEM: {dr["ORDEM"].ToString()}\nFORNECEDOR: {dr["NOMEFANTASIA"].ToString()}\nDATA: {data}"
                                    });
                                    InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                        Element.ALIGN_CENTER, Element.ALIGN_CENTER, Element.ALIGN_CENTER
                                    }, FontSubTitulo, new List <string> {
                                        "QT", "PRODUTO", "SUBTOTAL"
                                    });
                                    InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                        Element.ALIGN_LEFT, Element.ALIGN_LEFT, Element.ALIGN_RIGHT
                                    }, FontLinhas, new List <string> {
                                        dr["QUANTIDADE"].ToString(), dr["DESCRICAO"].ToString(), dr["TOTAL"].ToString()
                                    });
                                    inicio = false;
                                }
                                else
                                {
                                    InserirLinha(doc, new float[] { 80f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                        Element.ALIGN_RIGHT, Element.ALIGN_RIGHT
                                    }, FontTotais, new List <string> {
                                        "", " R$ " + TotalOrdem.ToString("N2")
                                    });

                                    InserirLinha(doc, new float[] { 100f }, Rectangle.NO_BORDER, new List <int> {
                                        Element.ALIGN_LEFT
                                    }, FontLinhas, new List <string> {
                                        $"ORDEM: {dr["ORDEM"].ToString()}\nFORNECEDOR: {dr["NOMEFANTASIA"].ToString()}\nDATA: {data}"
                                    });
                                    InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                        Element.ALIGN_CENTER, Element.ALIGN_CENTER, Element.ALIGN_CENTER
                                    }, FontSubTitulo, new List <string> {
                                        "QT", "PRODUTO", "SUBTOTAL"
                                    });
                                    InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                        Element.ALIGN_LEFT, Element.ALIGN_LEFT, Element.ALIGN_RIGHT
                                    }, FontLinhas, new List <string> {
                                        dr["QUANTIDADE"].ToString(), dr["DESCRICAO"].ToString(), dr["TOTAL"].ToString()
                                    });
                                }

                                TotalOrdem = Convert.ToDouble(dr["Total"].ToString());
                            }
                            else
                            {
                                InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                    Element.ALIGN_LEFT, Element.ALIGN_LEFT, Element.ALIGN_RIGHT
                                }, FontLinhas, new List <string> {
                                    dr["QUANTIDADE"].ToString(), dr["DESCRICAO"].ToString(), dr["TOTAL"].ToString()
                                });
                                TotalOrdem += Convert.ToDouble(dr["TOTAL"].ToString());
                            }

                            stringOrdem = dr["ORDEM"].ToString();
                            Total      += double.Parse(dr["TOTAL"].ToString());
                        }
                    }


                    InserirLinha(doc, new float[] { 80f, 20f }, Rectangle.NO_BORDER, new List <int> {
                        Element.ALIGN_RIGHT, Element.ALIGN_RIGHT
                    }, FontTotais, new List <string> {
                        "TOTAL =", "R$ " + Total.ToString("N2")
                    });
                    doc.Close();
                    System.Diagnostics.Process.Start(pasta);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #22
0
ファイル: Principal.cs プロジェクト: markilha/maos_a_obra
        private void GeraReltatorioOrdem_()
        {
            try
            {
                string pasta = Diretorio.CaminhoSalva("Aquivos pdf|*.pdf", "", "RelatorioPorOrdem");

                using (var doc = new Document(iTextSharp.text.PageSize.A4, 40, 40, 50, 50))
                {
                    PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream(pasta, FileMode.CreateNew));
                    doc.Open();

                    //Titulo do documento
                    doc.Add(Pdf.addParagrafoCentro("Relatório das Ordens\n\n", Element.ALIGN_CENTER, FontTitulo));

                    List <string> listaDatas  = new List <string>();
                    List <string> listaOrdens = new List <string>();

                    listaDatas = EntradaController.GetLista("DataEntrada");
                    listaDatas.Sort();

                    double Total = 0;


                    if (listaDatas.Count > 0)
                    {
                        InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                            Element.ALIGN_CENTER, Element.ALIGN_CENTER, Element.ALIGN_CENTER
                        }, FontSubTitulo, new List <string> {
                            "QT", "PRODUTO", "SUBTOTAL"
                        });


                        foreach (string data in listaDatas)
                        {
                            doc.Add(Pdf.addParagrafoCentro("\n", Element.ALIGN_CENTER, FontTitulo));

                            //Todos as entrada de um determinada data
                            DataTable valores = EntradaController.GetSqlEntradas($"SELECT * FROM Entradas WHERE DataEntrada = '{data}' ORDER BY DataEntrada");

                            //lista de ordens de uma determinada ordem
                            listaOrdens = EntradaController.GetLista("Ordem", "DataEntrada", data);
                            listaOrdens.Sort();
                            string stringOrdem = "";

                            foreach (string ordem in listaOrdens)
                            {
                                double TotalOrdem        = 0;
                                var    filteredDataTable = valores.Select($"Ordem = '{ordem}'");

                                foreach (DataRow dr in filteredDataTable)
                                {
                                    string descricao = ProdutosController.GetStringProduto(Convert.ToInt32(dr["ProdutoId"].ToString()));

                                    if (ordem != stringOrdem)
                                    {
                                        string fornecedor = FornecedorController.GetStringfornecedor(Convert.ToInt32(dr["FornecedorId"].ToString()));
                                        InserirLinha(doc, new float[] { 100f }, Rectangle.NO_BORDER, new List <int> {
                                            Element.ALIGN_LEFT
                                        }, FontLinhas, new List <string> {
                                            $"ORDEM: {ordem}\nFORNECEDOR: {fornecedor}\nDATACOMPRA: {data}"
                                        });
                                        InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                            Element.ALIGN_LEFT, Element.ALIGN_LEFT, Element.ALIGN_RIGHT
                                        }, FontLinhas, new List <string> {
                                            dr["Quantidade"].ToString(), descricao, dr["Total"].ToString()
                                        });
                                        TotalOrdem = Convert.ToDouble(dr["Total"].ToString());
                                    }
                                    else
                                    {
                                        InserirLinha(doc, new float[] { 10f, 75f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                            Element.ALIGN_LEFT, Element.ALIGN_LEFT, Element.ALIGN_RIGHT
                                        }, FontLinhas, new List <string> {
                                            dr["Quantidade"].ToString(), descricao, dr["Total"].ToString()
                                        });
                                        TotalOrdem += Convert.ToDouble(dr["Total"].ToString());
                                    }

                                    stringOrdem = ordem;
                                }

                                Total += TotalOrdem;
                                InserirLinha(doc, new float[] { 80f, 20f }, Rectangle.NO_BORDER, new List <int> {
                                    Element.ALIGN_RIGHT, Element.ALIGN_RIGHT
                                }, FontTotais, new List <string> {
                                    "SUBTOTAL =", " R$ " + TotalOrdem.ToString("N2")
                                });
                            }
                        }
                    }

                    InserirLinha(doc, new float[] { 80f, 20f }, Rectangle.NO_BORDER, new List <int> {
                        Element.ALIGN_RIGHT, Element.ALIGN_RIGHT
                    }, FontTotais, new List <string> {
                        "TOTAL =", "R$ " + Total.ToString("N2")
                    });
                    doc.Close();
                    System.Diagnostics.Process.Start(pasta);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }