// Para adicionar um detalhe da compra
        private void buttonAdicionarProduto_Click(object sender, EventArgs e)
        {
            try
            {
                bool produtoExiste = false;

                Compras compraSelecionada = (Compras)listBoxCompra.SelectedItem;
                if (compraSelecionada != null)
                {
                    foreach (DetalheCompras dc in compraSelecionada.DetalheCompras.ToList <DetalheCompras>())
                    {
                        if (dc.CodProduto == ((Produtos)cbProduto.SelectedItem).CodProduto)
                        {
                            produtoExiste = true;
                        }
                    }

                    if (produtoExiste == false)
                    {
                        if (numericUpDownQuantidade.Value < ((Produtos)cbProduto.SelectedItem).StockExistente)
                        {
                            Produtos       produto = (Produtos)cbProduto.SelectedItem;
                            DetalheCompras novo    = new DetalheCompras()
                            {
                                NrCompra   = compraSelecionada.NrCompra,
                                CodProduto = ((Produtos)cbProduto.SelectedItem).CodProduto,
                                Quantidade = (int)numericUpDownQuantidade.Value
                            };

                            produto.StockExistente = produto.StockExistente - (int)numericUpDownQuantidade.Value;

                            bookidsContainer.DetalheComprasSet.Add(novo);
                            bookidsContainer.SaveChanges();

                            limparDados();

                            carregaDetalhesCompra(compraSelecionada);

                            MessageBox.Show("Detalhe de compra adicionada com sucesso!", "Informação", MessageBoxButtons.OK);
                        }
                        else
                        {
                            MessageBox.Show("Stock Insuficiente!", "Aviso", MessageBoxButtons.OK);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Este detalhe já foi adicionado à compra. Se quiser fazer alguma alteração, apague o detalhe da compra e adicione novamente!", "Aviso", MessageBoxButtons.OK);
                    }
                }
            }
            catch
            {
                MessageBox.Show("Não se esqueça de selecionar a compra que pretende adicionar o detalhe!", "Aviso", MessageBoxButtons.OK);
            }
        }
        // Para apagar um detalhe de compra
        private void buttonApagarProduto_Click(object sender, EventArgs e)
        {
            try
            {
                DetalheCompras detalheCompraSelecionado = (DetalheCompras)listBoxProdutos.SelectedItem;
                if (detalheCompraSelecionado != null)
                {
                    detalheCompraSelecionado.Produtos.StockExistente = detalheCompraSelecionado.Produtos.StockExistente + detalheCompraSelecionado.Quantidade;

                    bookidsContainer.DetalheComprasSet.Remove(detalheCompraSelecionado);
                    bookidsContainer.SaveChanges();


                    MessageBox.Show("Detalhe de Compra apagado com sucesso!", "Informação", MessageBoxButtons.OK);
                }
            }
            catch
            {
                MessageBox.Show("Selecione primeiro o detalhe a ser eliminado!", "Aviso", MessageBoxButtons.OK);
            }
        }