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); }
//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; } }
//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; } } }