コード例 #1
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            errorProvider.Clear();
            int codigoProdutoBackup = produtoControle.entidade.id;

            if (Sistema.campoIsNull(txbNome.Text))
            {
                errorProvider.SetError(txbNome, "Informe o nome do produto");
                return;
            }
            if (Sistema.campoIsNull(txbDescricao.Text))
            {
                errorProvider.SetError(txbDescricao, "Informe algum detalhe do produto");
                return;
            }
            if (Sistema.numeroInvalido(Convert.ToString(numPreco.Value)))
            {
                errorProvider.SetError(numPreco, "Informe o preço do produto");
                return;
            }

            try
            {
                produtoControle.entidade.nome              = txbNome.Text;
                produtoControle.entidade.descricao         = txbDescricao.Text;
                produtoControle.entidade.preco             = Convert.ToDouble(numPreco.Value);
                produtoControle.entidade.validade          = validade.Value;
                produtoControle.entidade.quantidadeEstoque = Convert.ToInt32(numQuantidade.Value);

                if (produtoControle.entidade.id <= 0)
                {
                    historicoControle.entidade.buildValues(produtoControle.salvarRetornandoEntidadeNova(produtoControle.entidade));
                    historicoControle.salvar(historicoControle.entidade);
                }
                else
                {
                    produtoControle.editar(produtoControle.entidade);
                    QuantidadeAlterada.quantidadeAntiga = produtoControle.entidade.quantidadeEstoque;

                    if (QuantidadeAlterada.isAlterado())
                    {
                        historicoControle.entidade.buildValues(produtoControle.entidade);
                        historicoControle.salvar(historicoControle.entidade);
                    }
                }

                lblMensagem.Visible   = true;
                lblMensagem.Text      = "Produto salvo com sucesso!";
                lblMensagem.BackColor = Color.GreenYellow;

                limparCampos();
                carregarRegistros();
            }
            catch (Exception ex)
            {
                produtoControle.entidade.id = codigoProdutoBackup;
                lblMensagem.Visible         = true;
                lblMensagem.Text            = "Erro ao salvar produto: " + ex.Message;
                lblMensagem.BackColor       = Color.LightCoral;
            }
        }
コード例 #2
0
        private void btnAdicionarProduto_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgvProdutos.RowCount > 0)
                {
                    int quantidade = 0;
                    try
                    {
                        quantidade = Convert.ToInt32(txbQuantidade.Text);
                        if (quantidade <= 0)
                        {
                            lblMensagem.Visible   = true;
                            lblMensagem.BackColor = Color.LightCoral;
                            lblMensagem.Text      = "A quantidade deve ser maior que 0 (zero).";
                            return;
                        }
                        Produto produtoTemp = new Produto();
                        produtoControle.entidade.id = Convert.ToInt32(dgvProdutos.CurrentRow.Cells[0].Value);
                        produtoTemp = produtoControle.selecionar(produtoControle.entidade.id);
                        if (quantidade > produtoTemp.quantidadeEstoque)
                        {
                            lblMensagem.Visible   = true;
                            lblMensagem.BackColor = Color.LightCoral;
                            lblMensagem.Text      = "A quantidade deve ser menor ou igual que o estoque.";
                            return;
                        }
                        if (produtoTemp.quantidadeEstoque == 0)
                        {
                            lblMensagem.Visible   = true;
                            lblMensagem.BackColor = Color.LightCoral;
                            lblMensagem.Text      = "Não existe esse produto em estoque";
                            return;
                        }
                    }
                    catch (Exception) {
                        lblMensagem.Visible   = true;
                        lblMensagem.BackColor = Color.LightCoral;
                        lblMensagem.Text      = "Informe uma quantidade válida (Um valor inteiro e maior que 0).";
                    }

                    Produto produto = new Produto();
                    produtoControle.entidade.id = Convert.ToInt32(dgvProdutos.CurrentRow.Cells[0].Value);
                    produto = produtoControle.selecionar(produtoControle.entidade.id);
                    // Atualizar estoque do produto
                    produto.quantidadeEstoque = produto.quantidadeEstoque - quantidade;
                    // Atualizar estoque do produto no BANCO
                    produtoControle.editar(produto);

                    //Inserir histórico
                    historicoEstoque.entidade.buildValues(produto);
                    historicoEstoque.salvar(historicoEstoque.entidade);

                    VendaProduto vendaProduto = new VendaProduto();
                    vendaProduto.produto = produto;
                    vendaProduto.quantidadeProdutosVenda = quantidade;
                    vendaProduto.venda = formVenda.vendaControle.entidade;

                    formVenda.vendaControle.vendaProdutos.Add(vendaProduto);
                    ListViewItem item = new ListViewItem();
                    item.Text = produto.nome;
                    produto.quantidadeEstoque = quantidade;
                    item.Tag = produto;
                    formVenda.listProdutos.Items.Add(item);

                    lblMensagem.Text = "Adicionado: " + Convert.ToString(quantidade) + " " + produto.nome + " na venda. Pressione ESC para fechar";

                    carregarRegistros();
                    lblMensagem.BackColor = Color.GreenYellow;
                    lblMensagem.Visible   = true;

                    formVenda.listProdutos.Refresh();
                    formVenda.txbCliente.Refresh();

                    formVenda.atualizarValores();

                    txbQuantidade.Text = "1";
                    txbPesquisa.Text   = "";
                    txbPesquisa.Focus();
                }
            }
            catch (Exception ex)
            {
                lblMensagem.Visible   = true;
                lblMensagem.BackColor = Color.LightCoral;
                lblMensagem.Text      = "Erro ao adicionar produto: " + ex.Message;
            }
        }