private void CarregaDiversos()
    {
        CardapioBD carBD = new CardapioBD();

        DataSet ds = carBD.SelectAllDiversos();

        cblDiversos.DataSource     = ds.Tables[0].DefaultView;
        cblDiversos.DataValueField = "CAR_CODIGO";
        cblDiversos.DataTextField  = "DESCRICAO";
        cblDiversos.DataBind();
    }
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        Pedido ped = new Pedido();

        PedidoBD pedBD = new PedidoBD();

        CardapioBD carBD = new CardapioBD();

        ProdutoBD proBD = new ProdutoBD();

        ped.FKPessoa = Convert.ToInt32(Session["Cliente"]);

        ped.Numeromesa = Convert.ToInt32(txtMesa.Text);

        // a principio o usuario so podera pedir um item de cada vez
        ped.QuantidadeItem = 1;

        DateTime data = DateTime.Now;

        ped.DataHoraPedido = data;

        pedBD.Insert(ped);

        int FKPedido = pedBD.GetUltimoID(ped);



        for (int i = 0; i < cblLanches.Items.Count; i++)
        {
            if (cblLanches.Items[i].Selected)
            {
                int fkLanche = Convert.ToInt32(cblLanches.Items[i].Value);

                double valorItem = carBD.SelectValor(fkLanche);

                pedBD.InsertFK(FKPedido, fkLanche, valorItem);

                int variavel = proBD.SelectProdutoPelaFK(fkLanche);

                proBD.UpdateEstoque(variavel);
            }
        }
        for (int i = 0; i < cblADCLanches.Items.Count; i++)
        {
            if (cblADCLanches.Items[i].Selected)
            {
                int fkLanche = Convert.ToInt32(cblADCLanches.Items[i].Value);

                double valorItem = carBD.SelectValor(fkLanche);

                pedBD.InsertFK(FKPedido, fkLanche, valorItem);


                int variavel = proBD.SelectProdutoPelaFK(fkLanche);

                proBD.UpdateEstoque(variavel);
            }
        }
        for (int i = 0; i < cblPorções.Items.Count; i++)
        {
            if (cblPorções.Items[i].Selected)
            {
                int fkLanche = Convert.ToInt32(cblPorções.Items[i].Value);

                double valorItem = carBD.SelectValor(fkLanche);

                pedBD.InsertFK(FKPedido, fkLanche, valorItem);

                int variavel = proBD.SelectProdutoPelaFK(fkLanche);

                proBD.UpdateEstoque(variavel);
            }
        }
        for (int i = 0; i < cblAcai.Items.Count; i++)
        {
            if (cblAcai.Items[i].Selected)
            {
                int fkLanche = Convert.ToInt32(cblAcai.Items[i].Value);

                double valorItem = carBD.SelectValor(fkLanche);

                pedBD.InsertFK(FKPedido, fkLanche, valorItem);

                int variavel = proBD.SelectProdutoPelaFK(fkLanche);

                proBD.UpdateEstoque(variavel);
            }
        }
        for (int i = 0; i < cblADCAcai.Items.Count; i++)
        {
            if (cblADCAcai.Items[i].Selected)
            {
                int fkLanche = Convert.ToInt32(cblADCAcai.Items[i].Value);

                double valorItem = carBD.SelectValor(fkLanche);

                pedBD.InsertFK(FKPedido, fkLanche, valorItem);

                int variavel = proBD.SelectProdutoPelaFK(fkLanche);

                proBD.UpdateEstoque(variavel);
            }
        }
        for (int i = 0; i < cblDiversos.Items.Count; i++)
        {
            if (cblDiversos.Items[i].Selected)
            {
                int fkLanche = Convert.ToInt32(cblDiversos.Items[i].Value);

                double valorItem = carBD.SelectValor(fkLanche);

                pedBD.InsertFK(FKPedido, fkLanche, valorItem);

                int variavel = proBD.SelectProdutoPelaFK(fkLanche);

                proBD.UpdateEstoque(variavel);
            }
        }


        double valortoal = Convert.ToDouble(pedBD.SomaPedido(FKPedido));

        ped.Codigo     = FKPedido;
        ped.ValorTotal = valortoal;
        pedBD.UpdateValorTotal(ped);

        txtMesa.Text = string.Empty;

        cblLanches.ClearSelection();
        cblADCLanches.ClearSelection();
        cblAcai.ClearSelection();
        cblADCAcai.ClearSelection();
        cblPorções.ClearSelection();
        cblDiversos.ClearSelection();
        lblMensagem.Visible = true;
    }
    protected void btnCadastrar_Click(object sender, EventArgs e)
    {
        try
        {
            Produto    pro   = new Produto();
            Categoria  cat   = new Categoria();
            Cardapio   car   = new Cardapio();
            Despesas   des   = new Despesas();
            DespesasBD desBD = new DespesasBD();


            pro.Descricao = txtNomeItem.Text;

            try
            {
                if (txtValordecusto.Text == string.Empty)
                {
                    pro.ValorCusto = 0;
                }
                else
                {
                    pro.ValorCusto = Convert.ToDouble(txtValordecusto.Text);
                }
            }
            catch (FormatException)
            {
                lblMensagem.Text = "Valor de custo invalido!";
            }
            try
            {
                if (txtDataValidade.Text == string.Empty)
                {
                    pro.DataValidade = Convert.ToDateTime("11/11/1111");
                }
                else
                {
                    pro.DataValidade = Convert.ToDateTime(txtDataValidade.Text);
                }
            }
            catch (FormatException)
            {
                lblMensagem.Text = "Data de Validade invalida";
            }

            try
            {
                if (txtQuantidadeMinima.Text == string.Empty)
                {
                    pro.QuantidadeAtual = 0;
                }
                else
                {
                    pro.QuantidadeAtual = Convert.ToInt32(txtAddProduto.Text);
                }
            }
            catch (FormatException)
            {
                lblMensagem.Text = "Qautnidade invalida!";
            }
            try
            {
                if (txtQuantidadeMinima.Text == string.Empty)
                {
                    pro.QuantidadeMinima = 0;
                }
                else
                {
                    pro.QuantidadeMinima = Convert.ToInt32(txtQuantidadeMinima.Text);
                }
            }
            catch (FormatException)
            {
                lblMensagem.Text = "quantidade minima invalida!";
            }
            pro.UnidadeMedida   = txtUnidadeMedida.Text;
            pro.CodigoCategoria = ddlCategoria.SelectedItem.Value;


            car.Valor = Convert.ToDouble(txtValorVarejo.Text);

            ProdutoBD  proBD = new ProdutoBD();
            CardapioBD carBD = new CardapioBD();

            des.Descricao    = txtNomeItem.Text;
            des.Pessoa       = Convert.ToInt32(1);
            des.ValorDespesa = Convert.ToDouble(txtAddProduto.Text) * Convert.ToDouble(txtValordecusto.Text);
            DateTime data = DateTime.Now;
            des.Data = data;
            desBD.InsertDespesaProdutos(des);

            if (rblVendaEstoque.SelectedItem.Value == "E")
            {
                proBD.Insert(pro);
                lblMensagem.Text = "Produto cadastrado com sucesso!";
            }
            else
            {
                //insert tbl produto
                proBD.Insert(pro);

                // insert tbl cardapio
                carBD.Insert(car);

                //recupera ultimo produto cadastrado na tbl produto
                int idProduto  = proBD.GetUltimoID(pro);
                int idCardapio = carBD.GetUltimoID(car);

                carBD.InsertFKs(idCardapio, idProduto);

                lblMensagem.Text = "Produto Cadastrado com sucesso!";
            }

            txtAddProduto.Text       = string.Empty;
            txtDataValidade.Text     = string.Empty;
            txtNomeItem.Text         = string.Empty;
            txtQuantidadeMinima.Text = string.Empty;
            txtUnidadeMedida.Text    = string.Empty;
            txtValordecusto.Text     = string.Empty;
            txtValorVarejo.Text      = string.Empty;

            ddlCategoria.SelectedValue = "0";
        }
        catch (Exception ex)
        {
            lblMensagem.Text = ex.Message;
        }
    }