Esempio n. 1
0
 private void RemoveItem_Click(object sender, EventArgs e)
 {
     if (Int32.TryParse(TxtItem.Text, out int item))
     {
         _binarytree.Remove(item);
         Invalidate();
         TxtItem.Text = "";
         TxtItem.Focus();
     }
 }
        void AdicionarItem()
        {
            decimal preco = 0;

            if (string.IsNullOrWhiteSpace(TxtItem.Text))
            {
                MessageBox.Show("Você precisa informar o NOME do item!", "Op's!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                TxtItem.Focus();
            }
            else if (CmbUnidMedida.SelectedIndex < 0)
            {
                MessageBox.Show("Você precisa selecionar uma UNIDADE DE MEDIDA do item!", "Op's!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                CmbUnidMedida.Focus();
            }
            else if (string.IsNullOrWhiteSpace(TxtPreco.Text))
            {
                MessageBox.Show("Você precisa informar o PREÇO do item!", "Op's!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                TxtPreco.Focus();
            }
            else if (!decimal.TryParse(TxtPreco.Text, out preco))
            {
                MessageBox.Show("Você precisa informar um PREÇO válido!", "Op's!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                TxtPreco.Text = "";
                TxtPreco.Focus();
            }
            else
            {
                // Montando o nosso objeto produto.
                Produto produto = new Produto();
                produto.descricao     = TxtItem.Text;
                produto.unidadeMedida = CmbUnidMedida.SelectedItem.ToString();
                produto.quantidade    = (int)NudQuantidade.Value;
                produto.preco         = preco;
                produto.total         = preco * produto.quantidade;

                // Atualiza o Valor Total da Lista.
                this.valorTotal   += produto.total;
                TxtValorTotal.Text = this.valorTotal.ToString("C");

                // Atualiza a quantidade de items pendentes
                this.qtdeItensPedentes++;
                LblQtdeItensPendentes.Text = this.qtdeItensPedentes + " itens pendentes";


                // Limpa campos e volta para o campo item.
                TxtItem.Text = "";
                CmbUnidMedida.SelectedIndex = -1;
                NudQuantidade.Value         = 1;
                TxtPreco.Text = "";
                TxtItem.Focus();
                try
                {
                    // Adiciona o item no banco de dados.
                    string instrucao = "INSERT INTO tbproduto (descricao, unidademedida, quantidade, preco, total, status) VALUES ('" + produto.descricao + "','" + produto.unidadeMedida + "','" + produto.quantidade + "','" + produto.preco.ToString().Replace(",", ".") + "','" + produto.total.ToString().Replace(",", ".") + "','pendente'); SELECT SCOPE_IDENTITY();";

                    SqlCommand comando = new SqlCommand(instrucao, conexao);

                    //Abre a conexão com o banco.
                    conexao.Open();

                    //Executa o comando no banco de dados.
                    int codigo = Convert.ToInt32(comando.ExecuteScalar());

                    // Adiciona o item na lista.
                    DgvItems.Rows.Add(codigo.ToString(), produto.descricao, produto.unidadeMedida, produto.quantidade,
                                      produto.preco.ToString("C"), produto.total.ToString("C"), "pendente");
                }
                catch (Exception erro)
                {
                    MessageBox.Show(erro.Message);
                }
                finally
                {
                    conexao.Close();
                }
            }
        }