Esempio n. 1
0
        private void BtnConfirmaRegistro_Click(object sender, EventArgs e)
        {
            try
            {
                if ((!txtNomeReceita.Text.Equals("")) && //nenhum valor pode ficar em branco.
                    (!cmbDificuldadeRegistroReceita.SelectedItem.Equals("")) &&
                    (!txtTempoPreparo.Text.Equals("")) &&
                    (!txtRendimentoReceita.Text.Equals("")) &&
                    (!richTxtModoPreparo.Text.Equals("")) &&
                    (!cmbCategoriaReceita.SelectedItem.ToString().Equals(""))
                    )
                {
                    //Criando o objeto
                    Receita receita = new Receita();
                    //receita.Ingrediente = new Ingrediente();
                    //Atribuindo novos valores.
                    receita.Nome            = Convert.ToString(txtNomeReceita.Text);
                    receita.Porcoes         = double.Parse(txtRendimentoReceita.Text.ToString());
                    receita.TempoPreparacao = int.Parse(txtTempoPreparo.Text.ToString());
                    receita.Categoria       = Convert.ToString(cmbCategoriaReceita.SelectedItem);
                    receita.Dificuldade     = int.Parse(cmbDificuldadeRegistroReceita.SelectedItem.ToString());
                    receita.Preparo         = Convert.ToString(richTxtModoPreparo.Text);

                    double valorTotal = 0;

                    if (receita.Cadastrar())
                    {
                        foreach (DataGridViewRow row in dataGridSelecaoIngrediente.Rows)
                        {
                            if (Convert.ToBoolean(row.Cells["columnSelecaoIngrediente"].Value) == true &&
                                receita.ObterReceita()
                                )
                            {
                                //Atribuindo os valores para o objeto receita.ingrediente
                                receita.Ingrediente.Id                 = int.Parse(row.Cells["columnIdIngrediente"].Value.ToString());
                                receita.Ingrediente.Quantidade         = double.Parse(row.Cells["columnQuantidadeIngrediente"].Value.ToString());
                                receita.Ingrediente.UnidadeMedidaPreco = row.Cells["columnUnidadeIngrediente"].Value.ToString();
                                receita.Ingrediente.Preco              = double.Parse(row.Cells["columnValorIngrediente"].Value.ToString());

                                receita.CadastrarIngrediente();
                                valorTotal += receita.Ingrediente.Preco;
                            }
                        }
                        //Cadastrando o custo total da receita.
                        //MessageBox.Show("ID do item cadastrado: "+receita.Id.ToString());//Tentando rastrear onde o codigo está falhando.
                        receita.Custo = valorTotal;
                        receita.AlterarCusto();

                        MessageBox.Show("Cadastro de receita bem sucedido.");
                        TelaReceita telaReceita = new TelaReceita()
                        {
                            telaInicio = telaInicioRegistro
                        };
                        telaReceita.Show();
                        telaInicioRegistro.Hide();
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("Não foi possível cadastrar a nova receita", "Erro no registro", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
                    }
                }
                else
                {
                    MessageBox.Show("Todos os campos devem ser preenchidos", "Erro no registro", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível cadastrar a nova receita\n" + ex.Message, "Erro no registro", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
            }
        }
Esempio n. 2
0
        private void TelaDetalheReceita_Load(object sender, EventArgs e)
        {
            try
            {
                //Preenchendo os comboboxes
                cmbCategoriaReceita.DataSource = new string[] {
                    "Bebida",
                    "Carne",
                    "Confeitaria",
                    "Marisco",
                    "Padaria",
                    "Pastelaria",
                    "Peixe",
                    "Salada",
                    "Sobremesa"
                };

                cmbDificuldadeReceita.DataSource = new string[] {
                    "1",
                    "2",
                    "3",
                    "4",
                    "5",
                    "6",
                    "7",
                    "8",
                    "9",
                    "10"
                };

                //Criando o objeto que guardará as incormações no banco de dados.
                Receita receita = new Receita();
                receita.Id = idReceitaDetalhe;
                if (receita.ObterReceita())
                {
                    //Atribuindo novos valores.
                    txtNomeReceita.Text                = receita.Nome.ToString();
                    txtRendimentoReceita.Text          = receita.Porcoes.ToString();
                    txtTempoPreparo.Text               = receita.TempoPreparacao.ToString();
                    cmbCategoriaReceita.SelectedItem   = receita.Categoria;
                    cmbDificuldadeReceita.SelectedItem = receita.Dificuldade.ToString();
                    richTxtModoPreparo.Text            = receita.Preparo;

                    //Carregando dataGrid com a lista de ingredientes relacionados a receita.
                    MySqlDataReader reader = receita.ListarTodosIngredientes();

                    if (reader != null && (reader.HasRows))
                    {
                        while (reader.Read())
                        {
                            int n = dataGridSelecaoIngrediente.Rows.Add();

                            dataGridSelecaoIngrediente.Rows[n].Cells["columnIdIngrediente"].Value         = reader["id"];
                            dataGridSelecaoIngrediente.Rows[n].Cells["columnNomeIngrediente"].Value       = reader["nome"];
                            dataGridSelecaoIngrediente.Rows[n].Cells["columnValorIngrediente"].Value      = reader["preco"];
                            dataGridSelecaoIngrediente.Rows[n].Cells["columnQuantidadeIngrediente"].Value = reader["quantidade"];
                            dataGridSelecaoIngrediente.Rows[n].Cells["columnUnidadeIngrediente"].Value    = reader["unidade"];
                            dataGridSelecaoIngrediente.Rows[n].Cells["columnSelecaoIngrediente"].Value    = false;

                            //Endereçando o id do ingrediente para trabalhar com selecionados
                            receita.Ingrediente.Id = int.Parse(dataGridSelecaoIngrediente.Rows[n].Cells["columnIdIngrediente"].Value.ToString());

                            if (receita.ConfirmarIngredientesSelecionados())
                            {
                                //Marcando a coluna do checkbox
                                dataGridSelecaoIngrediente.Rows[n].Cells["columnSelecaoIngrediente"].Value = true;
                            }
                        }
                        //Ordenando lista pelo nome dos ingredientes.
                        DataGridViewColumn columnToSort = dataGridSelecaoIngrediente.Columns["columnNomeIngrediente"];
                        dataGridSelecaoIngrediente.Sort(columnToSort, ListSortDirection.Ascending);
                    }
                    //Encerrando o primeiro reader.
                    reader.Close();

                    //Abrindo o segundo reader.
                    //Carregando dataGrid com a lista de ingredientes relacionados a receita.
                    MySqlDataReader readerSelecionados = receita.ListarIngredientesSelecionados();

                    //Somando os valores de ingredientes para o custo
                    double valorTotal = 0;

                    if (readerSelecionados != null && (readerSelecionados.HasRows))
                    {
                        while (readerSelecionados.Read())
                        {
                            int n = dataGridSelecionados.Rows.Add();

                            dataGridSelecionados.Rows[n].Cells["columnIdIngredienteSelecionado"].Value         = readerSelecionados["id"];
                            dataGridSelecionados.Rows[n].Cells["columnNomeIngredienteSelecionado"].Value       = readerSelecionados["nome"];
                            dataGridSelecionados.Rows[n].Cells["columnValorIngredienteSelecionado"].Value      = readerSelecionados["custo"];
                            dataGridSelecionados.Rows[n].Cells["columnQuantidadeIngredienteSelecionado"].Value = readerSelecionados["quantidade"];
                            dataGridSelecionados.Rows[n].Cells["columnUnidadeIngredienteSelecionado"].Value    = readerSelecionados["unidade"];

                            //Endereçando o id do ingrediente para trabalhar com selecionados
                            //receita.Ingrediente.Id = int.Parse(dataGridSelecionados.Rows[n].Cells["columnIdIngredienteSelecionado"].Value.ToString());

                            //Somando o custo da receita.
                            valorTotal += Convert.ToDouble(dataGridSelecionados.Rows[n].Cells["columnValorIngredienteSelecionado"].Value);
                        }
                        //Ordenando lista pelo nome dos ingredientes.
                        DataGridViewColumn columnToSort = dataGridSelecionados.Columns["columnNomeIngredienteSelecionado"];
                        dataGridSelecionados.Sort(columnToSort, ListSortDirection.Ascending);
                    }
                    receita.Id = idReceitaDetalhe;
                    //Definindo o custo total da receita.
                    receita.Custo = valorTotal;
                    receita.AlterarCusto();
                    txtValorReceita.Text = receita.Custo.ToString();
                }
                else
                {
                    MessageBox.Show("Não foi possível carregar todos os dados da receita", "Erro no carregamento", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível carregar todos os dados da receita\n" + ex.Message, "Erro no carregamento", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
            }
        }