public void CarregarPesquisaItem(string conteudo)
        {
            DataTable dt = new DataTable();
            DataColumn coluna1 = new DataColumn("ID", Type.GetType("System.Int32"));
            DataColumn coluna2 = new DataColumn("CODIGO", Type.GetType("System.String"));
            DataColumn coluna3 = new DataColumn("TITULO", Type.GetType("System.String"));

            dt.Columns.Add(coluna1);
            dt.Columns.Add(coluna2);
            dt.Columns.Add(coluna3);

            ItensEstoqueBL itEstBL = new ItensEstoqueBL();
            ItensEstoque itEstoque = new ItensEstoque();
            List<ItensEstoque> ltItEst = itEstBL.PesquisarBuscaBL(conteudo);

            foreach (ItensEstoque litE in ltItEst)
            {
                DataRow linha = dt.NewRow();

                if (litE.Obra != null)
                {
                    linha["ID"] = litE.Id;
                    linha["CODIGO"] = litE.Obra.Codigo;
                    linha["TITULO"] = litE.Obra.Titulo;

                    dt.Rows.Add(linha);
                }
            }

            grdPesquisaItem.DataSource = dt;
            grdPesquisaItem.DataBind();
        }
        public void CarregarPesquisaItem(string conteudo)
        {
            DataTable dt = new DataTable();
            DataColumn coluna1 = new DataColumn("ID", Type.GetType("System.Int32"));
            DataColumn coluna2 = new DataColumn("CODIGO", Type.GetType("System.String"));
            DataColumn coluna3 = new DataColumn("DESCRICAO", Type.GetType("System.String"));

            dt.Columns.Add(coluna1);
            dt.Columns.Add(coluna2);
            dt.Columns.Add(coluna3);

            ItensEstoqueBL itBL = new ItensEstoqueBL();
            ItensEstoque it = new ItensEstoque();
            List<ItensEstoque> lItensEstoque = itBL.PesquisarBuscaBL(conteudo);

            foreach (ItensEstoque pes in lItensEstoque)
            {
                DataRow linha = dt.NewRow();

                linha["ID"] = pes.Id;
                linha["CODIGO"] = pes.Obra.Codigo;
                linha["DESCRICAO"] = pes.Obra.Titulo;

                dt.Rows.Add(linha);
            }

            grdPesquisaItem.DataSource = dt;
            grdPesquisaItem.DataBind();
        }
        protected void btnRelatorio_Click(object sender, EventArgs e)
        {
            ItensEstoqueBL itensEstoqueBL = new ItensEstoqueBL();
            ItensEstoque itensEstoque = new ItensEstoque();

            byte? controlaestoque = null;

            if (utils.ComparaIntComZero(ddlControlaEst.SelectedValue) > 0)
                controlaestoque = Convert.ToByte(ddlControlaEst.SelectedValue);

            byte? blStatus = null;
            string status = "Todos";
            if (ddlStatus.SelectedValue != string.Empty)
            {
                blStatus = Convert.ToByte(ddlStatus.SelectedValue);
                status = ddlStatus.SelectedItem.Text;
            }

            Session["ldsRel"] = itensEstoqueBL.PesquisarItensEstoqueDataSetBL(txtItem.Text, controlaestoque, blStatus).Tables[0];
            if (((DataTable)Session["ldsRel"]).Rows.Count != 0)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "WinOpen('/Relatorios/RelItensEstoque.aspx?status=" + status + "','',590,805);", true);
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('Sua pesquisa não retornou dados.');", true);
            }
        }
        private void PesquisarConteudo(string valor)
        {
            DataTable dt = new DataTable();
            DataColumn coluna1 = new DataColumn("ID", Type.GetType("System.Int32"));
            DataColumn coluna2 = new DataColumn("CODIGO", Type.GetType("System.String"));
            DataColumn coluna3 = new DataColumn("TITULO", Type.GetType("System.String"));
            DataColumn coluna4 = new DataColumn("VALOR", Type.GetType("System.Decimal"));
            DataColumn coluna5 = new DataColumn("QUANTIDADE", Type.GetType("System.String"));

            dt.Columns.Add(coluna1);
            dt.Columns.Add(coluna2);
            dt.Columns.Add(coluna3);
            dt.Columns.Add(coluna4);
            dt.Columns.Add(coluna5);

            ItensEstoqueBL itEstBL = new ItensEstoqueBL();
            ItensEstoque itEstoque = new ItensEstoque();
            List<ItensEstoque> ltItEst = itEstBL.PesquisarBuscaBL(valor);

            foreach (ItensEstoque litE in ltItEst)
            {
                DataRow linha = dt.NewRow();

                if (litE.Obra != null)
                {
                    linha["ID"] = litE.Id;
                    linha["CODIGO"] = litE.Obra.Codigo;
                    linha["TITULO"] = litE.Obra.Titulo;
                    linha["VALOR"] = litE.VlrVenda.ToString();
                    linha["QUANTIDADE"] = litE.QtdEstoque.ToString();

                    dt.Rows.Add(linha);
                }
            }

            grdPesquisa.DataSource = dt;
            grdPesquisa.DataBind();
        }
        protected void txtItem_TextChanged(object sender, EventArgs e)
        {
            hfIdItem.Value = "";
            ItensEstoqueBL itEstBL = new ItensEstoqueBL();
            ItensEstoque itEstoque = new ItensEstoque();
            List<ItensEstoque> ltItEst = itEstBL.PesquisarBL("CODIGO", txtItem.Text, 1);
            bool controlaEstoque = false;
            Int32 totalEstoque = 0;
            Int32 qtdMinima = 0;

            foreach (ItensEstoque ltItEstoque in ltItEst)
            {
                hfIdItem.Value = ltItEstoque.Id.ToString();
                txtItem.Text = ltItEstoque.Obra.Codigo.ToString();
                lblDesItem.Text = ltItEstoque.Obra.Titulo;
                controlaEstoque = ltItEstoque.ControlaEstoque;
                qtdMinima = ltItEstoque.QtdMinima;
                txtValorUni.Text = ltItEstoque.VlrVenda.ToString();
                lblValor.Text = (ltItEstoque.VlrVenda * utils.ComparaIntComZero(txtQuantidade.Text)).ToString();

                if (controlaEstoque)
                {
                    MovimentosEstoqueBL movEstBL = new MovimentosEstoqueBL();
                    totalEstoque = movEstBL.PesquisarTotalMovimentosBL(ltItEstoque.Id, "");
                    if (totalEstoque <= 0)
                    {
                        ExibirMensagem("Estoque negativo, não será possível realizar a venda.");
                        txtItem.Text = "";
                        LimparCampos();
                    }
                    else
                    {
                        if (totalEstoque <= qtdMinima)
                            ExibirMensagem("Restam apenas " + totalEstoque + " itens no estoque.");
                    }
                }

            }

            if (utils.ComparaIntComZero(hfIdItem.Value) <= 0)
            {
                ExibirMensagem("Item não cadastrado !");
                txtItem.Text = "";
                LimparCampos();
                txtItem.Focus();
            }
            else
                txtValorUni.Focus();
        }
        protected void txtItem_TextChanged(object sender, EventArgs e)
        {
            hfIdItem.Value = "";
            ItensEstoqueBL itEstBL = new ItensEstoqueBL();
            ItensEstoque itEstoque = new ItensEstoque();
            List<ItensEstoque> ltItEst = itEstBL.PesquisarBL("CODIGO", txtItem.Text, 1);

            foreach (ItensEstoque ltItEstoque in ltItEst)
            {
                hfIdItem.Value = ltItEstoque.Id.ToString();
                txtItem.Text = ltItEstoque.Obra.Codigo.ToString();
                lblDesItem.Text = ltItEstoque.Obra.Titulo;
            }

            if (utils.ComparaIntComZero(hfIdItem.Value) > 0)
                CarregarDados(utils.ComparaIntComZero(hfIdItem.Value));
            else
            {
                ExibirMensagem("Item não cadastrado !");
                txtItem.Text = "";
                LimparCampos();
            }
        }
        private void PesquisarItem(string conteudo)
        {
            LimparCampos();
            ItensEstoqueBL itEstBL = new ItensEstoqueBL();
            ItensEstoque itEstoque = new ItensEstoque();
            List<ItensEstoque> ltItEst = itEstBL.PesquisarBL("CODIGO", conteudo, 1);

            foreach (ItensEstoque ltItEstoque in ltItEst)
            {
                hfIdItem.Value = ltItEstoque.Id.ToString();
                txtItem.Text = ltItEstoque.Obra.Codigo.ToString();
                lblDesItem.Text = ltItEstoque.Obra.Titulo;
            }

            if (utils.ComparaIntComZero(hfIdItem.Value) <= 0 && conteudo != string.Empty)
            {
                ExibirMensagem("Item não cadastrado !");
                LimparCampos();
            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            ItensEstoqueBL itEsBL = new ItensEstoqueBL();
            ItensEstoque itEstoque = new ItensEstoque();
            itEstoque.Id = utils.ComparaIntComZero(hfId.Value);
            itEstoque.ObraId = utils.ComparaIntComZero(hfIdItem.Value);
            itEstoque.Data = Convert.ToDateTime(txtData.Text);
            itEstoque.QtdMinima = utils.ComparaIntComZero(txtQtdMin.Text);
            itEstoque.VlrCusto = utils.ComparaDecimalComZero(txtVlrMedio.Text);
            itEstoque.VlrVenda = utils.ComparaDecimalComZero(txtVlrVenda.Text);
            itEstoque.ControlaEstoque = chkControlaEstoque.Checked;
            itEstoque.Status = ddlStatus.SelectedValue == "A" ? true : false;

            if (itEstoque.Id > 0)
            {
                if (itEsBL.EditarBL(itEstoque))
                    ExibirMensagem("Atualização realizada com sucesso !");
                else
                    ExibirMensagem("Não foi possível atualizar as informações. Revise as informações !");

            }
            else
            {

                if (itEsBL.InserirBL(itEstoque))
                    ExibirMensagem("Atualização realizada com sucesso !");
                else
                    ExibirMensagem("Não foi possível atualizar as informações. Revise as informações !");

            }
        }
        private void CarregarDados(int id_obra)
        {
            ItensEstoqueBL itEsBL = new ItensEstoqueBL();
            List<ItensEstoque> itensEstoque = itEsBL.PesquisarMovObraBL(id_obra);

            if (itensEstoque.Count > 0)
            {
                foreach (ItensEstoque ltItEs in itensEstoque)
                {
                    hfId.Value = ltItEs.Id.ToString();
                    hfIdItem.Value = ltItEs.ObraId.ToString();
                    txtData.Text = ltItEs.Data.ToString("dd/MM/yyyy");
                    txtQtdMin.Text = ltItEs.QtdMinima.ToString();
                    txtVlrMedio.Text = ltItEs.VlrCusto.ToString();
                    txtVlrVenda.Text = ltItEs.VlrVenda.ToString();
                    chkControlaEstoque.Checked = ltItEs.ControlaEstoque;
                    ddlStatus.SelectedValue = ltItEs.Status == true ? "A" : "I";
                }
            }
        }