//Pesquisa pelo campo que estiver preenchido
        private void btnPesquisarNome_Click(object sender, EventArgs e)
        {
            var    classeProdutos = new ClasseProdutos();
            string descricao      = txtpesqProdu.Text;

            //Se o campo Descricao estiver preenchido, pesquisa por ele
            if (descricao != "")
            {
                int IdProduto = classeProdutos.RetornaIdProduto(descricao);
                BindingSourceProdutos.DataSource       = classeProdutos.RetornaDadosProduto(IdProduto);
                DataGridProdutos.DataSource            = BindingSourceProdutos;
                DataGridProdutos.RowHeadersVisible     = false;
                DataGridProdutos.AllowUserToAddRows    = false;
                DataGridProdutos.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                DataGridProdutos.Columns[0].Visible    = false;
                DataGridProdutos.Columns[1].HeaderText = "Codigo";
                DataGridProdutos.Columns[2].HeaderText = "Descricao";
                DataGridProdutos.Columns[3].HeaderText = "Quantidade";
                DataGridProdutos.Columns[4].HeaderText = "Tipo Produto";
                DataGridProdutos.Columns[5].HeaderText = "Sub Gênero";
                DataGridProdutos.Columns[6].HeaderText = "Valor Unitário";
                DataGridProdutos.Columns[7].HeaderText = "Disponivel Venda";
                DataGridProdutos.Columns[7].Visible    = false;
                DataGridProdutos.AutoResizeColumns(
                    DataGridViewAutoSizeColumnsMode.DisplayedCells);
                DataGridProdutos.ReadOnly = true;
            }

            string codigo = txtpesqCod.Text;

            //Se o campo Codigo estiver preenchido, pesquisa por ele
            if (codigo != "")
            {
                if (!int.TryParse(codigo, out int Incorreto))
                {
                    string Retorno = "Preencha Corretamente o Codigo da Venda";
                    MessageBox.Show(Retorno);
                    return;
                }
                int codigoProduto = Convert.ToInt32(codigo);
                int IdProduto     = classeProdutos.RetornaIdProduto(codigoProduto);
                BindingSourceProdutos.DataSource       = classeProdutos.RetornaDadosProduto(IdProduto);
                DataGridProdutos.DataSource            = BindingSourceProdutos;
                DataGridProdutos.RowHeadersVisible     = false;
                DataGridProdutos.AllowUserToAddRows    = false;
                DataGridProdutos.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                DataGridProdutos.Columns[0].Visible    = false;
                DataGridProdutos.Columns[1].HeaderText = "Codigo";
                DataGridProdutos.Columns[2].HeaderText = "Descricao";
                DataGridProdutos.Columns[3].HeaderText = "Quantidade";
                DataGridProdutos.Columns[4].HeaderText = "Tipo Produto";
                DataGridProdutos.Columns[5].HeaderText = "Sub Gênero";
                DataGridProdutos.Columns[6].HeaderText = "Valor Unitário";
                //DataGridProdutos.Columns[7].HeaderText = "Disponivel Venda";
                DataGridProdutos.AutoResizeColumns(
                    DataGridViewAutoSizeColumnsMode.DisplayedCells);
                DataGridProdutos.ReadOnly = true;
            }
        }
Esempio n. 2
0
        //Localiza o nome do produto pelo código
        public string LocalizarNomeProduto()
        {
            int    CodigoProduto;
            string Retorno = "";

            //Testa campo em branco
            if (txtCodigoVendas.Text == "")
            {
                Retorno = "Preencha o Código do Produto";
                MessageBox.Show(Retorno);
                return(Retorno);
            }
            else
            {
                //Valida se o código possui apenas numeros
                if (!int.TryParse(txtCodigoVendas.Text, out CodigoProduto))
                {
                    Retorno = "O Código Deve Possuir Apenas Números";
                    MessageBox.Show(Retorno);
                    return(Retorno);
                }
                else
                {
                    //Se apenas possui números, converte pra int
                    CodigoProduto = Convert.ToInt32(txtCodigoVendas.Text);
                    int    IdProduto        = classeProdutos.RetornaIdProduto(CodigoProduto);
                    string DescricaoProduto = classeProdutos.RetornaDescricaoProduto(IdProduto);
                    //Se retornou Erro é pq não existe na tabela.
                    if (DescricaoProduto == "Erro")
                    {
                        Retorno = "Produto não Encontrado";
                        MessageBox.Show(Retorno);
                        return(Retorno);
                    }
                    else
                    {
                        //Se achou, verifica se o produto está com a opção disponível para venda (da tela de produtos) marcada.
                        bool produto_disponivel = classeProdutos.ProdutoDisponivel(IdProduto);
                        if (produto_disponivel)
                        {
                            Retorno          = DescricaoProduto;
                            txtNomeProd.Text = Retorno;
                            return(Retorno);
                        }
                        else
                        {
                            Retorno = "Produto não Disponivel para Vendas";
                            MessageBox.Show(Retorno);
                            return(Retorno);
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        public string IncluirVenda(int CodigoProduto, string DescricaoProduto, string CPF, string RazaoSocial, string Quantidade, double ValorTotal, string DataVenda)
        {
            int IdProduto  = classeProdutos.RetornaIdProduto(CodigoProduto);
            int IdCliente  = classeClientes.RetornaIdCliente(CPF);
            var MsgRetorno = "Venda Concluida com Êxito";
            //Transforma quantidade em inteiro pra poder inserir no banco
            int quantidade      = Convert.ToInt32(Quantidade);
            int QuantidadeAtual = CalcularNovaQuantidadeProduto(IdProduto, quantidade);
            //Se passar nas validações, insere no banco e retorna ok
            string ResultadoValidacao = (ValidarCamposVenda(DescricaoProduto, CPF, quantidade, DataVenda, ValorTotal));

            if (QuantidadeAtual < 0)
            {
                ResultadoValidacao = "Não é possível efetuar essa venda, pois não há produto em quantidade suficiente no estoque";
            }

            //Se a validacao deu certo, pode inserir os dados no banco
            if (ResultadoValidacao == "ok")
            {
                //Força o separador do float como . para não dar erro na hora de inserir no banco
                string      CultureName = Thread.CurrentThread.CurrentCulture.Name;
                CultureInfo ci          = new CultureInfo(CultureName);
                if (ci.NumberFormat.NumberDecimalSeparator != ".")
                {
                    ci.NumberFormat.NumberDecimalSeparator = ".";
                    Thread.CurrentThread.CurrentCulture    = ci;
                }
                DateTime Data = Convert.ToDateTime(DataVenda);
                try
                {
                    AbrirConexao();
                    RodarScript(
                        $"Insert into vendas (data, produto_id, cliente_id, quantidade, valor_total) values (convert(datetime, '{Data}', 103),'{IdProduto}','{IdCliente}',{quantidade},{ValorTotal})");
                    FecharConexao();
                    AbrirConexao();
                    RodarScript(
                        $"update produtos set quantidade = '{QuantidadeAtual}' where produtos.id ={IdProduto}");
                    FecharConexao();
                }
                //Se gerar erro, a função retorna o erro gerado.
                catch (Exception MsgErro)
                {
                    //Se cair aqui, retorna o erro e sai da função
                    return(MsgErro.ToString());
                }

                //Se chegar até aqui, retorna OK.
                return(MsgRetorno);
            }
            //Não passou na validacao, retorna a mensagem
            return(ResultadoValidacao);
        }
Esempio n. 4
0
        //Localiza o produto.
        public string LocalizarProduto()
        {
            int    CodigoProduto;
            string Retorno = "";

            //Se o código estiver em branco, avisa e não faz nada.
            if (txtCodigoCompras.Text == "")
            {
                Retorno = "Preencha o Código do Produto";
                MessageBox.Show(Retorno);
                return(Retorno);
            }
            else
            {
                //Valida se o código é numérico.
                if (!int.TryParse(txtCodigoCompras.Text, out CodigoProduto))
                {
                    Retorno = "O Código Deve Possuir Apenas Números";
                    MessageBox.Show(Retorno);
                    //Sai da função se não for e retorna a mensagem de erro.
                    return(Retorno);
                }
                else
                {
                    //Se chegou aqui, o código é um numero válido. Então converte pra inteiro.
                    CodigoProduto = Convert.ToInt32(txtCodigoCompras.Text);
                    int    IdProduto        = classeProdutos.RetornaIdProduto(CodigoProduto);
                    string DescricaoProduto = classeProdutos.RetornaDescricaoProduto(IdProduto);
                    //Se retornou erro, é pq o select não encontrou nenhum item.
                    if (DescricaoProduto == "Erro")
                    {
                        Retorno = "Produto não Encontrado";
                        MessageBox.Show(Retorno);
                        return(Retorno);
                    }
                    else
                    {
                        Retorno             = DescricaoProduto;
                        txtDescProduto.Text = Retorno;
                        return(Retorno);
                    }
                }
            }
        }
Esempio n. 5
0
        //Pesquisa pelo campo que estiver preenchido
        private void pesqCompras_Click(object sender, EventArgs e)
        {
            var    classeCompras      = new ClasseCompras();
            var    classeClientes     = new ClasseClientes();
            var    classeFornecedores = new ClasseFornecedores();
            var    classeProdutos     = new ClasseProdutos();
            string cnpj       = mskPesqCNPJ.Text;
            string fornecedor = TxtPesqFornecedor.Text;
            string produto    = textpesqNome.Text;

            //Se o CNPJ estiver preenchido, pesquisa por ele
            if (cnpj != "")
            {
                if (classeClientes.ValidarCPFCNPJ(cnpj, false) == true)
                {
                    int IdFornecedor = classeFornecedores.RetornaIdFornecedor(cnpj);
                    BindingSourceCompras.DataSource       = classeCompras.RetornaDadosCompraPorFornecedor(IdFornecedor);
                    DataGridCompras.DataSource            = BindingSourceCompras;
                    DataGridCompras.RowHeadersVisible     = false;
                    DataGridCompras.AllowUserToAddRows    = false;
                    DataGridCompras.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                    DataGridCompras.Columns[0].Visible    = false;
                    DataGridCompras.Columns[1].HeaderText = "Data da Compra";
                    DataGridCompras.Columns[2].HeaderText = "Codigo do Produto";
                    DataGridCompras.Columns[3].HeaderText = "Produto";
                    DataGridCompras.Columns[4].HeaderText = "Fornecedor";
                    DataGridCompras.Columns[5].HeaderText = "CNPJ";
                    DataGridCompras.Columns[6].HeaderText = "Quantidade";
                    DataGridCompras.Columns[7].HeaderText = "Valor Total";
                    DataGridCompras.AutoResizeColumns(
                        DataGridViewAutoSizeColumnsMode.DisplayedCells);
                    DataGridCompras.ReadOnly = true;
                }
                else
                {
                    string Retorno = "Preencha Corretamente o CPF";
                    MessageBox.Show(Retorno);
                    return;
                }
            }
            else
            {
                {
                    //Se a razão social do fornecedor estiver preenchido, pesquisa por ele
                    if (fornecedor != "")
                    {
                        int IdFornecedor = classeFornecedores.RetornaIdFornecedorPelaRazaoSocial(fornecedor);
                        BindingSourceCompras.DataSource       = classeCompras.RetornaDadosCompraPorFornecedor(IdFornecedor);
                        DataGridCompras.DataSource            = BindingSourceCompras;
                        DataGridCompras.RowHeadersVisible     = false;
                        DataGridCompras.AllowUserToAddRows    = false;
                        DataGridCompras.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                        DataGridCompras.Columns[0].Visible    = false;
                        DataGridCompras.Columns[1].HeaderText = "Data da Compra";
                        DataGridCompras.Columns[2].HeaderText = "Codigo do Produto";
                        DataGridCompras.Columns[3].HeaderText = "Produto";
                        DataGridCompras.Columns[4].HeaderText = "Fornecedor";
                        DataGridCompras.Columns[5].HeaderText = "CNPJ";
                        DataGridCompras.Columns[6].HeaderText = "Quantidade";
                        DataGridCompras.Columns[7].HeaderText = "Valor Total";
                        DataGridCompras.AutoResizeColumns(
                            DataGridViewAutoSizeColumnsMode.DisplayedCells);
                        DataGridCompras.ReadOnly = true;
                    }
                    else
                    {
                        //Se o nome do produto estiver preenchido, pesquisa por ele
                        if (produto != "")
                        {
                            int IdProduto = classeProdutos.RetornaIdProduto(produto);
                            BindingSourceCompras.DataSource       = classeCompras.RetornaDadosCompraPorProduto(IdProduto);
                            DataGridCompras.DataSource            = BindingSourceCompras;
                            DataGridCompras.RowHeadersVisible     = false;
                            DataGridCompras.AllowUserToAddRows    = false;
                            DataGridCompras.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                            DataGridCompras.Columns[0].Visible    = false;
                            DataGridCompras.Columns[1].HeaderText = "Data da Compra";
                            DataGridCompras.Columns[2].HeaderText = "Codigo do Produto";
                            DataGridCompras.Columns[3].HeaderText = "Produto";
                            DataGridCompras.Columns[4].HeaderText = "Fornecedor";
                            DataGridCompras.Columns[5].HeaderText = "CNPJ";
                            DataGridCompras.Columns[6].HeaderText = "Quantidade";
                            DataGridCompras.Columns[7].HeaderText = "Valor Total";
                            DataGridCompras.AutoResizeColumns(
                                DataGridViewAutoSizeColumnsMode.DisplayedCells);
                            DataGridCompras.ReadOnly = true;
                        }
                    }
                }
            }
        }