示例#1
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);
        }
示例#2
0
        //Localiza o nome do cliente pelo CPF
        public string LocalizarCliente()
        {
            string Retorno = "";

            if (mskCPF.Text == "")
            {
                Retorno = "Preencha o CPF do Cliente";
                MessageBox.Show(Retorno);
                return(Retorno);
            }
            else
            {
                int    IdCliente   = classeClientes.RetornaIdCliente(mskCPF.Text);
                string NomeCliente = classeClientes.RetornaNomeCliente(IdCliente);
                if (NomeCliente == "Erro")
                {
                    Retorno = "Cliente não Encontrado";
                    MessageBox.Show(Retorno);
                    return(Retorno);
                }
                else
                {
                    Retorno             = NomeCliente;
                    txtNomeCliente.Text = Retorno;
                    return(Retorno);
                }
            }
        }
        private void btnPesquisarNome_Click(object sender, EventArgs e)
        {
            var    classeClientes = new ClasseClientes();
            string cpf            = mskPesqCpf.Text;

            //Valida se o campo CPF está em branco
            if (cpf != "")
            {
                //Valida se o cpf é válido
                if (classeClientes.ValidarCPFCNPJ(cpf, false) == true)
                {
                    int IdCliente = classeClientes.RetornaIdCliente(cpf);
                    BindingSourceClientes.DataSource       = classeClientes.RetornaDadosCliente(IdCliente);
                    DataGridClientes.DataSource            = BindingSourceClientes;
                    DataGridClientes.RowHeadersVisible     = false;
                    DataGridClientes.AllowUserToAddRows    = false;
                    DataGridClientes.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                    DataGridClientes.Columns[0].Visible    = false;
                    DataGridClientes.Columns[1].HeaderText = "Nome";
                    DataGridClientes.Columns[2].HeaderText = "CPF";
                    DataGridClientes.Columns[3].HeaderText = "Data de Nascimento";
                    DataGridClientes.Columns[4].HeaderText = "Endereço";
                    DataGridClientes.Columns[5].HeaderText = "Bairro";
                    DataGridClientes.Columns[6].HeaderText = "Cidade";
                    DataGridClientes.Columns[7].HeaderText = "Estado";
                    DataGridClientes.Columns[8].HeaderText = "Cep";
                    DataGridClientes.Columns[9].HeaderText = "Celular";
                    DataGridClientes.AutoResizeColumns(
                        DataGridViewAutoSizeColumnsMode.AllCells);
                    DataGridClientes.ReadOnly = true;
                }
                else
                {
                    string Retorno = "Preencha Corretamente o CPF";
                    MessageBox.Show(Retorno);
                    return;
                }
            }

            string nome = txtPesqNome.Text;

            //Valida se o nome está em branco
            if (nome != "")
            {
                string cpfCliente = classeClientes.RetornaCPFCliente(nome);
                int    IdCliente  = classeClientes.RetornaIdCliente(cpfCliente);
                BindingSourceClientes.DataSource       = classeClientes.RetornaDadosCliente(IdCliente);
                DataGridClientes.DataSource            = BindingSourceClientes;
                DataGridClientes.RowHeadersVisible     = false;
                DataGridClientes.AllowUserToAddRows    = false;
                DataGridClientes.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                DataGridClientes.Columns[0].Visible    = false;
                DataGridClientes.Columns[1].HeaderText = "Nome";
                DataGridClientes.Columns[2].HeaderText = "CPF";
                DataGridClientes.Columns[3].HeaderText = "Data de Nascimento";
                DataGridClientes.Columns[4].HeaderText = "Endereço";
                DataGridClientes.Columns[5].HeaderText = "Bairro";
                DataGridClientes.Columns[6].HeaderText = "Cidade";
                DataGridClientes.Columns[7].HeaderText = "Estado";
                DataGridClientes.Columns[8].HeaderText = "Cep";
                DataGridClientes.Columns[9].HeaderText = "Celular";
                DataGridClientes.AutoResizeColumns(
                    DataGridViewAutoSizeColumnsMode.AllCells);
                DataGridClientes.ReadOnly = true;
            }
        }
示例#4
0
        //Pesquisa pelo campo que estiver preenchido
        private void btnPesquisarNome_Click(object sender, EventArgs e)
        {
            var classeVendas   = new ClasseVendas();
            var classeClientes = new ClasseClientes();

            //Se o campo Codigo estiver preenchido, pesquisa por ele
            if (txtCodListaVenda.Text != "")
            {
                if (!int.TryParse(txtCodListaVenda.Text, out int Incorreto))
                {
                    string Retorno = "Preencha Corretamente o Codigo da Venda";
                    MessageBox.Show(Retorno);
                    return;
                }
                int IdVenda = Int32.Parse(txtCodListaVenda.Text);
                BindingSourceVendas.DataSource       = classeVendas.RetornaDadosVenda(IdVenda);
                DataGridVendas.DataSource            = BindingSourceVendas;
                DataGridVendas.RowHeadersVisible     = false;
                DataGridVendas.AllowUserToAddRows    = false;
                DataGridVendas.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                DataGridVendas.Columns[0].Visible    = true;
                DataGridVendas.Columns[0].HeaderText = "Código da Venda";
                DataGridVendas.Columns[1].HeaderText = "Data da Venda";
                DataGridVendas.Columns[2].HeaderText = "Codigo do Produto";
                DataGridVendas.Columns[3].HeaderText = "Produto";
                DataGridVendas.Columns[4].HeaderText = "Cliente";
                DataGridVendas.Columns[5].HeaderText = "Quantidade";
                DataGridVendas.Columns[6].HeaderText = "Valor Total";
                DataGridVendas.AutoResizeColumns(
                    DataGridViewAutoSizeColumnsMode.DisplayedCells);
                DataGridVendas.ReadOnly = true;
            }
            //Se o campo Cliente estiver preenchido, pesquisa por ele
            if (textpesNomeV.Text != "")
            {
                string cpfCliente = classeClientes.RetornaCPFCliente(textpesNomeV.Text);
                int    idCliente  = classeClientes.RetornaIdCliente(cpfCliente);
                BindingSourceVendas.DataSource       = classeVendas.RetornaDadosVendaCliente(idCliente);
                DataGridVendas.DataSource            = BindingSourceVendas;
                DataGridVendas.RowHeadersVisible     = false;
                DataGridVendas.AllowUserToAddRows    = false;
                DataGridVendas.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                DataGridVendas.Columns[0].Visible    = true;
                DataGridVendas.Columns[0].HeaderText = "Código da Venda";
                DataGridVendas.Columns[1].HeaderText = "Data da Venda";
                DataGridVendas.Columns[2].HeaderText = "Codigo do Produto";
                DataGridVendas.Columns[3].HeaderText = "Produto";
                DataGridVendas.Columns[4].HeaderText = "Cliente";
                DataGridVendas.Columns[5].HeaderText = "Quantidade";
                DataGridVendas.Columns[6].HeaderText = "Valor Total";
                DataGridVendas.AutoResizeColumns(
                    DataGridViewAutoSizeColumnsMode.DisplayedCells);
                DataGridVendas.ReadOnly = true;
            }

            //Se o campo Data estiver preenchido, pesquisa por ele
            if (mskDataListaVenda.Text != ("  /  /"))
            {
                if (classeVendas.ValidarData(mskDataListaVenda.Text))
                {
                    DateTime Data = Convert.ToDateTime(mskDataListaVenda.Text);
                    BindingSourceVendas.DataSource       = classeVendas.RetornaDadosVenda(Data);
                    DataGridVendas.DataSource            = BindingSourceVendas;
                    DataGridVendas.RowHeadersVisible     = false;
                    DataGridVendas.AllowUserToAddRows    = false;
                    DataGridVendas.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
                    DataGridVendas.Columns[0].Visible    = true;
                    DataGridVendas.Columns[0].HeaderText = "Código da Venda";
                    DataGridVendas.Columns[1].HeaderText = "Data da Venda";
                    DataGridVendas.Columns[2].HeaderText = "Codigo do Produto";
                    DataGridVendas.Columns[3].HeaderText = "Produto";
                    DataGridVendas.Columns[4].HeaderText = "Cliente";
                    DataGridVendas.Columns[5].HeaderText = "Quantidade";
                    DataGridVendas.Columns[6].HeaderText = "Valor Total";
                    DataGridVendas.AutoResizeColumns(
                        DataGridViewAutoSizeColumnsMode.DisplayedCells);
                    DataGridVendas.ReadOnly = true;
                }
            }
        }