//Método para consultar Brinquedos por nome
        public BrinquedoColecao ConsultarNomeBrinquedo(string nomeBrinquedo)
        {
            try
            {
                BrinquedoColecao bc = new BrinquedoColecao();
                //abastecendo coleção
                acessaDadosSqlServer.limparParametro();
                acessaDadosSqlServer.adicionarParametro("@nome", nomeBrinquedo);
                DataTable dataTableBrinquedo = acessaDadosSqlServer.executarConsulta(CommandType.StoredProcedure,"SP_CONSULTAR_NOME_BRINQUEDO");

                foreach(DataRow linha in dataTableBrinquedo.Rows)
                {
                    Brinquedo b = new Brinquedo();
                    //alinhamento
                    b.codBrinquedo = Convert.ToInt32(linha["codBrinquedo"]);
                    b.nome = Convert.ToString(linha["nome"]);
                    b.cadastro = Convert.ToDateTime(linha["dataCadastro"]);
                    b.ativo = Convert.ToBoolean(linha["ativo"]);
                    b.valor = Convert.ToDouble(linha["valor"]);
                    b.estoque = Convert.ToInt32(linha["estoque"]);
                    b.controlaEstoque = Convert.ToBoolean(linha["controlaEstoque"]);
                    //adicionando cliente na coleção
                    bc.Add(b);
                }
                return bc;
            }
            catch(Exception exception)
            {
                throw new Exception("Não foi possivel consultar por nome. Detalhes: " + exception.Message);
            }
        }
        public void atualizarGrid()
        {
            BrinquedoNegocio brinquedoNegocio = new BrinquedoNegocio();
            BrinquedoColecao brinquedoColecao = new BrinquedoColecao();

            //consulta
            brinquedoColecao = brinquedoNegocio.ConsultarNomeBrinquedo(txtBuscar.Text);
            //limpar grid
            dataGridViewBrinquedo.DataSource = null;
            //exibindo dados no grid
            dataGridViewBrinquedo.DataSource = brinquedoColecao;
            dataGridViewBrinquedo.Update();
            dataGridViewBrinquedo.Refresh();
        }
        //Método construtor para o evento de alterar
        public FrmCadastroEvento(EnumeradorEvento acao, Evento eventoSelecionado)
        {
            InitializeComponent();

            if (acao == EnumeradorEvento.Alterar)
            {
                EventoNegocio eventoNegocio = new EventoNegocio();

                txtCodigo.Text = eventoSelecionado.codEvento.ToString();
                txtCliente.Text = eventoSelecionado.nomeCliente;
                codCliente = eventoSelecionado.codCliente;
                txtAniversariante.Text = eventoSelecionado.nome;
                txtLocal.Text = eventoSelecionado.localEvento;
                txtCidadeEvento.Text = eventoSelecionado.cidadeEvento;
                dateTimePickerDataEvento.Value = Convert.ToDateTime(eventoSelecionado.data_evento);
                maskedTextBoxInicio.Text = eventoSelecionado.inicio.ToString();
                maskedTextBoxTermino.Text = eventoSelecionado.termino.ToString();
                txtTema.Text = eventoSelecionado.tema;
                txtComplementar.Text = eventoSelecionado.observacao;
                btnGravar.Text = "Alterar";
                btnLimpar.Text = "Reimprimir";
                btnLimpar.Image = Properties.Resources.reimprimir;
                //Image.FromFile("Imagens/reimprimir.png");
                btnNovo.Enabled = false;
                btnCancelarEvento.Enabled = true;

                //Pegar os dados de brinquedos e inserir no checkedListBoxBrinquedos
                BrinquedoColecao brinquedoColecaoGenerico = new BrinquedoColecao();
                brinquedoColecaoGenerico = eventoNegocio.BuscarEventoBrinquedo(eventoSelecionado.codEvento);

                brinquedoColecao = brinquedoNegocio.ConsultarNomeBrinquedo("");

                for (int i = 0; i < brinquedoColecao.Count; i++)
                {
                    checkedListBoxBrinquedos.Items.Add(brinquedoColecao[i].nome);
                }

                double auxiliarPrecoTotalBrinquedo = 0;

                for (int i = 0; i < brinquedoColecaoGenerico.Count; i++)
                {
                    for (int x = 0; x < brinquedoColecao.Count; x++)
                    {
                        if (brinquedoColecaoGenerico[i].nome == brinquedoColecao[x].nome)
                        {
                            checkedListBoxBrinquedos.SetItemChecked(x, true);
                            auxiliarPrecoTotalBrinquedo += brinquedoColecaoGenerico[i].valor;
                        }
                    }
                }
                //Pegar os dados de decoração e inserir no checkedListBoxDecoracoes
                DecoracaoColecao decoracaoColecaoGenerico = new DecoracaoColecao();
                decoracaoColecaoGenerico = eventoNegocio.BuscarEventoDecoracao(eventoSelecionado.codEvento);

                decoracaoColecao = decoracaoNegocio.ConsultarNomeDecoracao("");

                for (int i = 0; i < decoracaoColecao.Count; i++)
                {
                    checkedListBoxDecoracao.Items.Add(decoracaoColecao[i].nome);
                }

                double auxiliarPrecoTotalDecoracao = 0;

                for (int i = 0; i < decoracaoColecaoGenerico.Count; i++)
                {
                    for (int x = 0; x < decoracaoColecao.Count; x++)
                    {
                        if (decoracaoColecaoGenerico[i].nome == decoracaoColecao[x].nome)
                        {
                            checkedListBoxDecoracao.SetItemChecked(x, true);
                            auxiliarPrecoTotalDecoracao += decoracaoColecaoGenerico[i].valor;
                        }
                    }
                }
                //Pegar os dados de serviço e inserir no checkedListBoxServicos
                ServicoColecao servicoColecaoGenerico = new ServicoColecao();
                servicoColecaoGenerico = eventoNegocio.BuscarEventoServico(eventoSelecionado.codEvento);

                servicoColecao = servicoNegocio.ConsultarNome("");

                for (int i = 0; i < servicoColecao.Count; i++)
                {
                    checkedListBoxServicos.Items.Add(servicoColecao[i].nome);
                }

                double auxiliarPrecoTotalServico = 0;

                for (int i = 0; i < servicoColecaoGenerico.Count; i++)
                {
                    for (int x = 0; x < servicoColecao.Count; x++)
                    {
                        if (servicoColecaoGenerico[i].nome == servicoColecao[x].nome)
                        {
                            checkedListBoxServicos.SetItemChecked(x, true);
                            auxiliarPrecoTotalServico += servicoColecaoGenerico[i].valor;
                        }
                    }
                }
                //Código para buscar apenas o total do (evento + acrescimos) - descontos
                object retorno = eventoNegocio.BuscarValorTotalEvento(eventoSelecionado.codEvento);

                txtTotalEvento.Text = retorno.ToString();
                txtValorEvento.Text = (auxiliarPrecoTotalBrinquedo + auxiliarPrecoTotalDecoracao + auxiliarPrecoTotalServico).ToString();
            }
            else
                MessageBox.Show("Erro ao carregar dados.\nContate o Administrador do sistema.","Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        public FrmCadastroEvento()
        {
            InitializeComponent();

            //Preenchendo checkList de brinquedo
            brinquedoColecao = brinquedoNegocio.ConsultarNomeBrinquedo("");

            int i;

            for (i = 0; i < brinquedoColecao.Count; i++)
            {
                checkedListBoxBrinquedos.Items.Add(brinquedoColecao[i].nome);
            }

            decoracaoColecao = decoracaoNegocio.ConsultarNomeDecoracao("");

            for (i = 0; i < decoracaoColecao.Count; i++)
            {
                checkedListBoxDecoracao.Items.Add(decoracaoColecao[i].nome);
            }

            servicoColecao = servicoNegocio.ConsultarNome("");
            //Mesmo processo usado acima, apenas com a diferença de estar usando o foreach
            //para fins didaticos
            foreach (Servico linha in servicoColecao)
            {
                checkedListBoxServicos.Items.Add(linha.nome);
            }
        }
        public BrinquedoColecao BuscarEventoBrinquedo(int codEvento)
        {
            SqlConnection conexao = acessaDados.criarConexaoBanco();
            try
            {
                BrinquedoColecao brinquedoColecao = new BrinquedoColecao();

                conexao.Open();
                string sql = "SELECT b.codBrinquedo, b.nome, b.dataCadastro, b.ativo, b.valor FROM tblBrinquedo AS b " +
                    "INNER JOIN tblEventoBrinquedo AS eb " +
                    "ON b.codBrinquedo = eb.codBrinquedo " +
                    "WHERE codEvento = " + codEvento;
                SqlCommand cmd = new SqlCommand(sql, conexao);
                SqlDataReader dataReader = cmd.ExecuteReader();

                DataTable dataTable = new DataTable();
                dataTable.Load(dataReader);

                foreach(DataRow linha in dataTable.Rows)
                {
                    Brinquedo brinquedo = new Brinquedo();

                    brinquedo.codBrinquedo = Convert.ToInt32(linha["codBrinquedo"]);
                    brinquedo.nome = linha["nome"].ToString();
                    brinquedo.cadastro = Convert.ToDateTime(linha["dataCadastro"]);
                    brinquedo.ativo = Convert.ToBoolean(linha["ativo"]);
                    brinquedo.valor = Convert.ToDouble(linha["valor"]);

                    brinquedoColecao.Add(brinquedo);
                }

                return brinquedoColecao;
            }
            catch(Exception e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                conexao.Close();
            }
        }