コード例 #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;
            }
        }