public static bool VlMedioEstoque(string vCd_empresa, string vCd_Produto, ref decimal vVl_medio, TObjetoBanco banco) { if (string.IsNullOrEmpty(vCd_empresa) || string.IsNullOrEmpty(vCd_Produto)) { return(false); } object obj = new TCD_LanEstoque(banco).BuscarSaldo_EstoqueEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + vCd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + vCd_Produto.Trim() + "'" } }, "a.vl_medio"); if (obj != null) { vVl_medio = decimal.Parse(obj.ToString()); return(true); } else { return(false); } }
public static decimal Valor_Medio_Est_Produto(string vCd_empresa, string vCd_Produto, TObjetoBanco banco) { if ((string.IsNullOrEmpty(vCd_empresa)) || (string.IsNullOrEmpty(vCd_Produto))) { return(0); } object obj = new TCD_LanEstoque(banco).BuscarSaldo_EstoqueEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + vCd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + vCd_Produto.Trim() + "'" } }, "a.vl_medio"); return(obj == null ? decimal.Zero : Convert.ToDecimal(obj.ToString())); }
public static void Valores_EstoqueLocal(string vCd_empresa, string vCd_Produto, string vCd_local, ref decimal vTot_Entrada, ref decimal vTot_Saida, ref decimal vTot_Saldo, ref decimal vVL_Estoque_ent, ref decimal vVL_Estoque_sai, ref decimal vVL_SaldoEstoque, ref decimal vVL_Medio, TObjetoBanco banco) { if ((!string.IsNullOrEmpty(vCd_empresa)) && (!string.IsNullOrEmpty(vCd_Produto)) && (!string.IsNullOrEmpty(vCd_local))) { System.Data.DataTable tb_estoque = new TCD_LanEstoque(banco).BuscarSaldo_EstoqueLocal( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + vCd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + vCd_Produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_local", vOperador = "=", vVL_Busca = "'" + vCd_local.Trim() + "'" } }, 0, string.Empty, string.Empty); if (tb_estoque != null) { if (tb_estoque.Rows.Count > 0) { try { vTot_Entrada = Convert.ToDecimal(tb_estoque.Rows[0]["tot_entrada"].ToString()); vTot_Saida = Convert.ToDecimal(tb_estoque.Rows[0]["tot_saida"].ToString()); vTot_Saldo = Convert.ToDecimal(tb_estoque.Rows[0]["tot_saldo"].ToString()); vVL_Estoque_ent = Convert.ToDecimal(tb_estoque.Rows[0]["vl_estoque_ent"].ToString()); vVL_Estoque_sai = Convert.ToDecimal(tb_estoque.Rows[0]["vl_estoque_sai"].ToString()); vVL_SaldoEstoque = Convert.ToDecimal(tb_estoque.Rows[0]["vl_saldoEstoque"].ToString()); vVL_Medio = Convert.ToDecimal(tb_estoque.Rows[0]["vl_medio"].ToString()); } catch {} } } } }
public static bool SaldoEstoqueLocal(string vCD_Empresa, string vCD_Produto, string vCd_local, ref decimal vSaldo, TObjetoBanco banco) { if (string.IsNullOrEmpty(vCD_Empresa) || string.IsNullOrEmpty(vCD_Produto)) { return(false); } if ((!new TCD_CadProduto(banco).ItemServico(vCD_Produto)) && (!new TCD_CadProduto(banco).ProdutoConsumoInterno(vCD_Produto))) { TpBusca[] vBusca = new TpBusca[2]; vBusca[0].vNM_Campo = "a.CD_Empresa"; vBusca[0].vVL_Busca = "'" + vCD_Empresa + "'"; vBusca[0].vOperador = "="; vBusca[1].vNM_Campo = "a.CD_Produto"; vBusca[1].vVL_Busca = "'" + vCD_Produto + "'"; vBusca[1].vOperador = "="; if (!string.IsNullOrEmpty(vCd_local)) { Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.CD_Local"; vBusca[vBusca.Length - 1].vVL_Busca = "'" + vCd_local + "'"; vBusca[vBusca.Length - 1].vOperador = "="; object obj = new TCD_LanEstoque("SqlCodeBuscaSaldo_EstoqueLocal", banco).BuscarEscalar(vBusca, "isnull(a.tot_saldo, 0)"); if (obj == null) { return(false); } else { vSaldo = Math.Round(Convert.ToDecimal(obj.ToString()), 3, MidpointRounding.AwayFromZero); return(true); } } else { object obj = new TCD_LanEstoque("SqlCodeBuscaSaldo_Estoque", banco).BuscarEscalar(vBusca, "isnull(a.tot_saldo, 0)"); if (obj == null) { return(false); } else { vSaldo = Math.Round(Convert.ToDecimal(obj.ToString()), 3, MidpointRounding.AwayFromZero); return(true); } } } else { return(false); } }
public static decimal Busca_Saldo_Local(string vCD_Empresa, string vCD_Produto, string vCD_Local, TObjetoBanco banco) { try { TpBusca[] vBusca = new TpBusca[0]; if (vCD_Empresa.Trim() != "") { Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.CD_Empresa"; vBusca[vBusca.Length - 1].vOperador = "="; vBusca[vBusca.Length - 1].vVL_Busca = "'" + vCD_Empresa + "'"; } if (vCD_Produto.Trim() != "") { Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.CD_Produto"; vBusca[vBusca.Length - 1].vOperador = "="; vBusca[vBusca.Length - 1].vVL_Busca = "'" + vCD_Produto + "'"; } if (vCD_Local.Trim() != "") { Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.CD_Local"; vBusca[vBusca.Length - 1].vOperador = "="; vBusca[vBusca.Length - 1].vVL_Busca = "'" + vCD_Local + "'"; } System.Data.DataTable qtb_Saldo_Local = new TCD_LanEstoque(banco).BuscarSaldo_EstoqueLocal(vBusca, 0, "a.tot_saldo", string.Empty); string saldo = qtb_Saldo_Local.Rows[0][0].ToString(); if (string.IsNullOrEmpty(saldo)) { saldo = "0"; } return(Convert.ToDecimal(saldo)); } catch { return(0); } finally { } }
public static bool Vl_Saldo_Estoque(string vCd_empresa, string vCd_Produto, ref decimal vVl_Saldo_Estoque, TObjetoBanco banco) { if (string.IsNullOrEmpty(vCd_empresa) || string.IsNullOrEmpty(vCd_Produto)) { return(false); } TpBusca[] filtro = new TpBusca[2]; filtro[0].vNM_Campo = "a.CD_Empresa"; filtro[0].vVL_Busca = "'" + vCd_empresa + "'"; filtro[0].vOperador = "="; filtro[1].vNM_Campo = "a.CD_Produto"; filtro[1].vVL_Busca = "'" + vCd_Produto + "'"; filtro[1].vOperador = "="; System.Data.DataTable tb_estoque = new TCD_LanEstoque(banco).BuscarSaldo_Estoque(filtro, 0, "vl_saldoestoque", string.Empty); if (tb_estoque != null) { if (tb_estoque.Rows.Count > 0) { try { vVl_Saldo_Estoque = Convert.ToDecimal(tb_estoque.Rows[0]["vl_saldoestoque"].ToString()); return(true); } catch { return(false); } } else { return(false); } } else { return(false); } }
public static string AcertarVlMedio(TRegistro_LanEstoque val, TObjetoBanco banco) { bool st_transacao = false; TCD_LanEstoque qtb_estoque = new TCD_LanEstoque(); try { if (banco == null) { st_transacao = qtb_estoque.CriarBanco_Dados(true); } else { qtb_estoque.Banco_Dados = banco; } string retorno = qtb_estoque.AcertarVlMedio(val); if (st_transacao) { qtb_estoque.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_estoque.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro acertar valor medio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_estoque.deletarBanco_Dados(); } } }
public static void CancelarEstoque(TRegistro_LanEstoque val, TObjetoBanco banco) { bool st_transacao = false; TCD_LanEstoque qtb_est = new TCD_LanEstoque(); try { if (banco == null) { st_transacao = qtb_est.CriarBanco_Dados(true); } else { qtb_est.Banco_Dados = banco; } qtb_est.CancelarEstoque(val); if (st_transacao) { qtb_est.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_est.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro cancelar estoque: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_est.deletarBanco_Dados(); } } }
public static decimal CustoTotalEstoque(string vCd_empresa, TObjetoBanco banco) { TpBusca[] filtro = new TpBusca[0]; if (vCd_empresa.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.cd_empresa"; filtro[filtro.Length - 1].vOperador = "in"; filtro[filtro.Length - 1].vVL_Busca = "(" + vCd_empresa.Trim() + ")"; } else { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = string.Empty; filtro[filtro.Length - 1].vOperador = "EXISTS"; filtro[filtro.Length - 1].vVL_Busca = "(select 1 from tb_div_usuario_x_empresa x " + "where x.cd_empresa = a.cd_empresa " + "and ((x.login = '******') or " + "(exists(select 1 from tb_div_usuario_x_grupos y " + " where y.logingrp = x.login and y.loginusr = '******'))))"; } object obj = new TCD_LanEstoque(banco).BuscarEstoqueSintenticoEscalar(filtro, "ISNULL(SUM(isnull(a.tot_saldo,0) * isnull(a.vl_medio,0)), 0)"); if (obj != null) { try { return(Convert.ToDecimal(obj.ToString())); } catch { return(decimal.Zero); } } else { return(decimal.Zero); } }
public static decimal Vl_MedioLocal(string vCd_empresa, string vCd_produto, string vCd_local, TObjetoBanco banco) { if (string.IsNullOrEmpty(vCd_empresa) || string.IsNullOrEmpty(vCd_produto) || string.IsNullOrEmpty(vCd_local)) { return(decimal.Zero); } object obj = new TCD_LanEstoque("SqlCodeBuscaSaldo_EstoqueLocal", banco).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + vCd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + vCd_produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_local", vOperador = "=", vVL_Busca = "'" + vCd_local.Trim() + "'" } }, "a.vl_medio"); return(obj == null ? decimal.Zero : decimal.Parse(obj.ToString())); }
public static string Gravar(TRegistro_Devolucao val, CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParc, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Devolucao qtb_dev = new TCD_Devolucao(); try { if (banco == null) { st_transacao = qtb_dev.CriarBanco_Dados(true); } else { qtb_dev.Banco_Dados = banco; } decimal tot_devolver = Math.Round(val.lItens.Sum(p => p.Qtd_devolver * (p.Vl_subtotalliquido / p.Quantidade)), 2); TList_DevolucaoFIN lDevFin = new TList_DevolucaoFIN(); if (lParc?.Count > 0) { foreach (CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela p in lParc) { if (tot_devolver > decimal.Zero) { lDevFin.Add(new TRegistro_DevolucaoFIN() { Nr_lancto = p.Nr_lancto, Cd_parcela = p.Cd_parcela, Vl_devolvido = tot_devolver < p.cVl_atual ? tot_devolver : p.cVl_atual }); tot_devolver -= tot_devolver < p.cVl_atual ? tot_devolver : p.cVl_atual; } else { break; } } } if (tot_devolver > decimal.Zero) { //Buscar Config Adto CamadaDados.Financeiro.Cadastros.TList_ConfigAdto lCfgAdto = CamadaNegocio.Financeiro.Cadastros.TCN_CadConfigAdto.Buscar(val.Cd_empresa, string.Empty, string.Empty, string.Empty, string.Empty, 1, string.Empty, qtb_dev.Banco_Dados); if (lCfgAdto.Count.Equals(0)) { throw new Exception("Não existe configuração adiantamento para gerar credito."); } //Gerar Credito do valor devolvido CamadaDados.Financeiro.Adiantamento.TRegistro_LanAdiantamento rAdto = new CamadaDados.Financeiro.Adiantamento.TRegistro_LanAdiantamento(); rAdto.Cd_clifor = val.Cd_clifor; rAdto.Cd_empresa = val.Cd_empresa; //Buscar endereco object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + val.Cd_clifor.Trim() + "'" } }, "a.cd_endereco"); rAdto.CD_Endereco = obj == null ? string.Empty : obj.ToString(); rAdto.Ds_adto = "CREDITO RECEBIDO DEVOLUÇÃO VENDA"; rAdto.Tp_movimento = "R"; rAdto.Dt_lancto = val.Dt_devolucao; rAdto.Vl_adto = tot_devolver; rAdto.ST_ADTO = "A"; rAdto.TP_Lancto = "T";//Frente Caixa CamadaNegocio.Financeiro.Adiantamento.TCN_LanAdiantamento.Gravar(rAdto, qtb_dev.Banco_Dados); //Quitar adiantamento rAdto.List_Caixa.Add(new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_ContaGer = lCfgAdto[0].Cd_contagerDEV_CV, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfgAdto[0].Cd_historico_ADTO_R, Cd_LanctoCaixa = decimal.Zero, ComplHistorico = "CREDITO RECEBIDO DEVOLUÇÃO VENDA", Dt_lancto = val.Dt_devolucao, Login = Utils.Parametros.pubLogin, Nr_Docto = "DEVPDV", St_Estorno = "N", St_Titulo = "N", Vl_PAGAR = decimal.Zero, Vl_RECEBER = rAdto.Vl_adto, NM_Clifor = val.Nm_clifor }); CamadaNegocio.Financeiro.Adiantamento.TCN_LanAdiantamentoXCaixa.Quitar_Adiantamento(rAdto, qtb_dev.Banco_Dados); val.Id_adto = rAdto.Id_adto; //Dar saida do valor do credito para não duplicar o valor string ret = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_ContaGer = lCfgAdto[0].Cd_contagerDEV_CV, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfgAdto[0].Cd_historicoDEV_Venda, Cd_LanctoCaixa = decimal.Zero, ComplHistorico = "DEVOLUÇÃO VENDA", Dt_lancto = val.Dt_devolucao, Login = Utils.Parametros.pubLogin, Nr_Docto = "DEVPDV", St_Estorno = "N", St_Titulo = "N", Vl_PAGAR = rAdto.Vl_adto, Vl_RECEBER = decimal.Zero, NM_Clifor = val.Nm_clifor }, qtb_dev.Banco_Dados); val.Cd_contager = lCfgAdto[0].Cd_contagerDEV_CV; val.Cd_lanctocaixastr = CamadaDados.TDataQuery.getPubVariavel(ret, "@P_CD_LANCTOCAIXA"); } //Gravar devolucao val.Id_devolucaostr = CamadaDados.TDataQuery.getPubVariavel(qtb_dev.Gravar(val), "@P_ID_DEVOLUCAO"); lDevFin.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_devolucao = val.Id_devolucao; TCN_DevolucaoFIN.Gravar(p, qtb_dev.Banco_Dados); }); //Gravar Itens Devolvidos val.lItens.ForEach(p => { decimal vl_unit = decimal.Zero; //Buscar Vl.Unitario object objVl_unit = new TCD_LanEstoque(qtb_dev.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_PDV_CupomFiscal_Item_X_Estoque x " + "where a.Id_LanctoEstoque = x.Id_LanctoEstoque " + "and a.cd_empresa = x.cd_empresa " + "and a.cd_produto = x.cd_produto " + "and x.id_lancto = " + p.Id_lanctovenda.ToString() + " " + "and x.id_cupom = " + p.Id_vendarapida.ToString() + " " + "and x.cd_empresa = '" + p.Cd_empresa.Trim() + "' " + "and x.cd_produto = '" + p.Cd_produto.Trim() + "')" } }, "a.vl_unitario"); if (objVl_unit == null || string.IsNullOrEmpty(objVl_unit.ToString())) { vl_unit = TCN_LanEstoque.BuscarVlEstoqueUltimaCompra(val.Cd_empresa, p.Cd_produto, qtb_dev.Banco_Dados); } else { vl_unit = decimal.Parse(objVl_unit.ToString()); } //dar entrada novamente no estoque string id_lanctoestoque = CamadaDados.TDataQuery.getPubVariavel( TCN_LanEstoque.GravarEstoque( new TRegistro_LanEstoque() { Cd_empresa = val.Cd_empresa, Cd_produto = p.Cd_produto, Cd_local = p.Cd_local, Dt_lancto = val.Dt_devolucao, Tp_movimento = "E", Qtd_entrada = p.Qtd_devolver, Qtd_saida = decimal.Zero, Vl_unitario = vl_unit, Vl_subtotal = vl_unit, Tp_lancto = "L", St_registro = "A", Ds_observacao = "DEVOLUCAO VENDA FRENTE CAIXA Nº" + p.Id_vendarapida.Value.ToString() }, qtb_dev.Banco_Dados), "@@P_ID_LANCTOESTOQUE"); //gravar itens devolvidos TCN_ItensDevolvidos.Gravar(new TRegistro_ItensDevolvidos() { Cd_empresa = val.Cd_empresa, Id_devolucao = val.Id_devolucao, Id_lancto = p.Id_lanctovenda, Id_cupom = p.Id_vendarapida, Cd_produto = p.Cd_produto, Id_lanctoestoquestr = id_lanctoestoque }, qtb_dev.Banco_Dados); //Grade Produto p.lGrade.ForEach(v => { if (v.Vl_mov > decimal.Zero) { TCN_GradeEstoque.Gravar( new TRegistro_GradeEstoque { Cd_empresa = p.Cd_empresa, Cd_produto = p.Cd_produto, Id_lanctoestoque = decimal.Parse(id_lanctoestoque), Id_caracteristica = v.Id_caracteristica, Id_item = v.Id_item, quantidade = v.Vl_mov }, qtb_dev.Banco_Dados); } }); }); //Reprocessar Comissão new TCD_VendaRapida_Item(qtb_dev.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_vendarapida", vOperador = "=", vVL_Busca = val.lItens[0].Id_vendarapida.ToString() }, new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" } }, 0, string.Empty, string.Empty).ForEach(p => PDV.TCN_VendaRapida_Item.ProcessarComissao(p, qtb_dev.Banco_Dados)); if (val.lItens.Count > 0) { //Recalcular Pontos Fidelidade new CamadaDados.Faturamento.Fidelizacao.TCD_PontosFidelidade(qtb_dev.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_cupom", vOperador = "=", vVL_Busca = val.lItens[0].Id_vendarapida.ToString() } }, 0, string.Empty, string.Empty).ForEach(x => { System.Collections.Hashtable hs = new System.Collections.Hashtable(3); hs.Add("@P_CD_EMPRESA", x.Cd_empresa); hs.Add("@P_ID_CUPOM", x.Id_cupomstr); hs.Add("@P_QTD_DEVOLVER", val.lItens.Sum(p => p.Qtd_devolver * (x.Qt_pontos / p.Quantidade))); qtb_dev.executarSql("update TB_FAT_PontosFidelidade set QT_Pontos = QT_Pontos - @P_QTD_DEVOLVER" + " where cd_empresa = @P_CD_EMPRESA" + " and id_cupom = @P_ID_CUPOM", hs); }); //Recalcular Resgate new CamadaDados.Faturamento.Fidelizacao.TCD_ResgatePontos(qtb_dev.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_cupom", vOperador = "=", vVL_Busca = val.lItens[0].Id_vendarapida.ToString() } }, 0, string.Empty).ForEach(x => { System.Collections.Hashtable hs = new System.Collections.Hashtable(4); hs.Add("@P_CD_EMPRESA", x.Cd_empresa); hs.Add("@P_ID_CUPOM", x.Id_cupomstr); hs.Add("@P_ID_PONTO", x.Id_pontostr); hs.Add("@P_QTD_DEVOLVER", val.lItens.Sum(p => p.Qtd_devolver * (x.Qt_pontos / p.Quantidade))); qtb_dev.executarSql("update TB_FAT_ResgatePontos set QT_Pontos = QT_Pontos - @P_QTD_DEVOLVER" + " where cd_empresa = @P_CD_EMPRESA" + " and id_cupom = @P_ID_CUPOM" + " and id_ponto = @P_ID_PONTO", hs); }); } if (st_transacao) { qtb_dev.Banco_Dados.Commit_Tran(); } return(val.Id_devolucaostr); } catch (Exception ex) { if (st_transacao) { qtb_dev.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar devolução:" + ex.Message.Trim()); } finally { if (st_transacao) { qtb_dev.deletarBanco_Dados(); } } }
private void Busca() { if (tcConsulta.SelectedTab.Equals(tpAnalitico)) { string auxtpmov = string.Empty; string virg = string.Empty; if (st_entrada.Checked) { auxtpmov = "'E'"; virg = ","; } if (st_saida.Checked) { auxtpmov += virg = "'S'"; virg = ","; } string auxtplancto = string.Empty; virg = string.Empty; if (cck_Normal.Checked) { auxtplancto = "'N'"; virg = ","; } if (cck_Provisao.Checked) { auxtplancto += virg + "'P'"; virg = ","; } if (cck_Manual.Checked) { auxtplancto += virg + "'M'"; virg = ","; } if (cck_Inventario.Checked) { auxtplancto += virg + "'I'"; virg = ","; } if (cck_Transferencia.Checked) { auxtplancto += virg + "'T'"; virg = ","; } if (cbCompDev.Checked) { auxtplancto += virg + "'L'"; virg = ","; } string auxstatus = string.Empty; if (st_ativo.Checked) { auxstatus = "'A'"; virg = ","; } if (st_cancelado.Checked) { auxstatus += virg + "'C'"; } TList_RegLanEstoque lista = TCN_LanEstoque.Busca(cd_empresa.Text, CD_Produto.Text, cd_grupo.Text, tp_produto.Text, cd_marca.Text, id_lanctoestoque.Text, CD_Local.Text, string.Empty, auxtpmov, auxtplancto, DT_Inicial.Text, DT_Final.Text, auxstatus, string.Empty, string.Empty, id_variedade.Text, 0, string.Empty, null); if ((lista != null) && (lista.Count > 0)) { BS_Estoque.DataSource = lista; } else { BS_Estoque.Clear(); } } else if (tcConsulta.SelectedTab.Equals(tpSintetico)) { TpBusca[] filtro = new TpBusca[0]; if (cd_empresa.Text.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.cd_empresa"; filtro[filtro.Length - 1].vOperador = "="; filtro[filtro.Length - 1].vVL_Busca = "'" + cd_empresa.Text.Trim() + "'"; } if (CD_Produto.Text.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.cd_produto"; filtro[filtro.Length - 1].vOperador = "="; filtro[filtro.Length - 1].vVL_Busca = "'" + CD_Produto.Text.Trim() + "'"; } if (cd_grupo.Text.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "b.cd_grupo"; filtro[filtro.Length - 1].vOperador = "like"; filtro[filtro.Length - 1].vVL_Busca = "'" + cd_grupo.Text.Trim() + "%'"; } if (tp_produto.Text.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "b.tp_produto"; filtro[filtro.Length - 1].vOperador = "="; filtro[filtro.Length - 1].vVL_Busca = "'" + tp_produto.Text.Trim() + "'"; } if (cd_marca.Text.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "b.cd_marca"; filtro[filtro.Length - 1].vOperador = "="; filtro[filtro.Length - 1].vVL_Busca = cd_marca.Text; } if (cbProdSaldoMinimo.Checked) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = string.Empty; filtro[filtro.Length - 1].vOperador = "exists"; filtro[filtro.Length - 1].vVL_Busca = "(select 1 from TB_EST_Produto_QTDEstoque x " + "where x.cd_produto = a.cd_produto " + "and x.cd_empresa = a.cd_empresa " + "and x.qt_min_estoque > a.tot_saldo) "; } if (cbItensSaldo.Checked) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.Tot_Saldo"; filtro[filtro.Length - 1].vOperador = ">"; filtro[filtro.Length - 1].vVL_Busca = "0"; } DataTable tb = new TCD_LanEstoque().BuscarEstoqueSintetico(filtro, string.Empty, "b.ds_produto"); tb.Columns.Add(new DataColumn("saldo_futuro", typeof(decimal), "Tot_Saldo - Qtd_reservada")); bsSintetico.DataSource = tb; bsSintetico_PositionChanged(this, new EventArgs()); //Buscar custo total do estoque tot_estoque.Text = TCN_LanEstoque.CustoTotalEstoque(string.IsNullOrEmpty(cd_empresa.Text) ? string.Empty : "'" + cd_empresa.Text.Trim() + "'", null).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true)); } }
private void bbAjustarGrade_Click(object sender, EventArgs e) { if (bsSintetico.Current != null) { if (new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + (bsSintetico.Current as DataRowView)["cd_produto"].ToString().Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_caracteristicaH", vOperador = "is not", vVL_Busca = "null" } }, "1") != null) { //Buscar lançamentos de estoque que não estejam amarrados a grade TList_RegLanEstoque lEst = new TCD_LanEstoque().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + (bsSintetico.Current as DataRowView)["cd_produto"].ToString().Trim() + "'" }, new TpBusca() { vOperador = " not Exists", vVL_Busca = "( select 1 from TB_EST_GradeEstoque x where x.Id_LanctoEstoque = a.Id_LanctoEstoque )" } }, 0, string.Empty, string.Empty, string.Empty); if (lEst.Count > 0) { lEst.ForEach(x => { using (Proc_Commoditties.TFGradeProduto fGrade = new Proc_Commoditties.TFGradeProduto()) { CamadaDados.Estoque.Cadastros.TRegistro_CadProduto prod = new CamadaDados.Estoque.Cadastros.TRegistro_CadProduto(); prod = CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.Busca_Produto_Codigo((bsSintetico.Current as DataRowView)["cd_produto"].ToString(), null); fGrade.pId_caracteristica = prod.Id_caracteristicaH.ToString(); fGrade.pCd_empresa = (bsSintetico.Current as DataRowView)["cd_empresa"].ToString(); fGrade.pCd_produto = (bsSintetico.Current as DataRowView)["cd_produto"].ToString(); fGrade.pDs_produto = (bsSintetico.Current as DataRowView)["ds_produto"].ToString(); fGrade.pTp_movimento = x.Tp_movimento; fGrade.pQuantidade = x.Tp_movimento.ToString().Trim().ToUpper().Equals("E") ? x.Qtd_entrada : x.Qtd_saida; if (fGrade.ShowDialog() == DialogResult.OK) { fGrade.lGrade.ForEach(p => { TCN_GradeEstoque.Gravar(new TRegistro_GradeEstoque() { Cd_empresa = (bsSintetico.Current as DataRowView)["cd_empresa"].ToString(), Cd_produto = (bsSintetico.Current as DataRowView)["cd_produto"].ToString(), Id_lanctoestoque = x.Id_lanctoestoque, Id_item = p.Id_item, Id_caracteristica = p.Id_caracteristica, quantidade = p.Vl_mov }, null); }); bsSintetico_PositionChanged(this, new EventArgs()); } else { MessageBox.Show("Obrigatório informar grade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } }); } } } }
public static string Baixar(TRegistro_Lan_Provisao_Estoque val, TObjetoBanco banco) { TCD_Lan_Provisao_Estoque QTB_Provisao_Estoque = new TCD_Lan_Provisao_Estoque(); bool pode_liberar = false; try { if (banco == null) { pode_liberar = QTB_Provisao_Estoque.CriarBanco_Dados(true); } else { QTB_Provisao_Estoque.Banco_Dados = banco; } //Gravar Lancamento Estoque da Baixa //Buscar lancamento estoque origem TList_RegLanEstoque lEstoque = new TCD_LanEstoque(QTB_Provisao_Estoque.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.tp_movimento", vOperador = "=", vVL_Busca = "'E'", }, new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'", }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_est_prov_x_estoque x " + "where x.cd_empresa = a.cd_empresa " + "and x.cd_produto = a.cd_produto " + "and x.id_lanctoestoque = a.id_lanctoestoque " + "and x.id_provisao = " + val.Id_provisao.Value.ToString() + ")" } }, 1, string.Empty, string.Empty, string.Empty); if (lEstoque.Count > 0) { string retorno = TCN_LanEstoque.GravarEstoque( new TRegistro_LanEstoque() { Cd_empresa = lEstoque[0].Cd_empresa, Cd_local = lEstoque[0].Cd_local, Cd_produto = lEstoque[0].Cd_produto, Dt_lancto = CamadaDados.UtilData.Data_Servidor(), Qtd_entrada = decimal.Zero, Qtd_saida = val.Saldo_Provisao, Tp_lancto = "P", Tp_movimento = "S", Vl_unitario = Math.Round(lEstoque.Average(x => decimal.Divide(x.Vl_subtotal, x.Qtd_entrada)), 7, MidpointRounding.AwayFromZero), Vl_subtotal = val.Saldo_Provisao * Math.Round(lEstoque.Average(x => decimal.Divide(x.Vl_subtotal, x.Qtd_entrada)), 7, MidpointRounding.AwayFromZero) }, QTB_Provisao_Estoque.Banco_Dados); //Gravar Provisao X Estoque TCN_Prov_X_Estoque.Gravar(new TRegistro_Lan_Provisao_X_Estoque() { Cd_empresa = CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_EMPRESA"), Cd_produto = CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_PRODUTO"), Id_lanctoestoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@@P_ID_LANCTOESTOQUE")), Id_provisao = val.Id_provisao }, QTB_Provisao_Estoque.Banco_Dados); if (pode_liberar) { QTB_Provisao_Estoque.Banco_Dados.Commit_Tran(); } return(retorno); } else { throw new Exception("Estoque de origem da provisão não foi encontrado."); } } catch (Exception ex) { if (pode_liberar) { QTB_Provisao_Estoque.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro baixa provisao: " + ex.Message.Trim()); } finally { if (pode_liberar) { QTB_Provisao_Estoque.deletarBanco_Dados(); } } }
public static string GravaLanInsumos(TRegistro_LanInsumos val, TObjetoBanco banco) { bool pode_liberar = false; TCD_LanInsumos lanInsumo = new TCD_LanInsumos(); try { if (banco == null) { lanInsumo.CriarBanco_Dados(true); pode_liberar = true; banco = lanInsumo.Banco_Dados; } else { lanInsumo.Banco_Dados = banco; } string retorno = ""; TRegistro_LanInsumos_X_Estoque InsumoEstoque = new TRegistro_LanInsumos_X_Estoque(); if (val.ID_Requisicao <= 0 || val.ID_Requisicao == null) { decimal saldo = 0; TCN_LanEstoque.SaldoEstoqueLocal(val.CD_Empresa, val.CD_Produto, val.CD_Local, ref saldo, banco); if (val.Quantidade > saldo) { throw new Exception("Atenção, não há SALDO suficiente desse PRODUTO no LOCAL DE ARMAZENAGEM!"); } //GRAVA O LANÇAMENTO EM ESTOQUE TRegistro_LanEstoque reg_estoque = new TRegistro_LanEstoque(); reg_estoque.Cd_produto = val.CD_Produto; reg_estoque.Cd_local = val.CD_Local; reg_estoque.Qtd_entrada = 0; reg_estoque.Qtd_saida = val.Quantidade; reg_estoque.Cd_empresa = val.CD_Empresa; reg_estoque.St_registro = "A"; reg_estoque.Vl_unitario = val.VL_Unitario; reg_estoque.Vl_subtotal = val.VL_Total; reg_estoque.Tp_movimento = "S"; reg_estoque.Ds_observacao = "LANÇAMENTO DE INSUMO CÓDIGO DO INSUMO - " + val.CD_Produto; reg_estoque.Tp_lancto = "N"; TCD_LanEstoque TCD_Estoque = new TCD_LanEstoque(); TCD_Estoque.Banco_Dados = banco; string ret_estoque = TCD_Estoque.GravaEstoque(reg_estoque); InsumoEstoque.Id_LanctoEstoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_estoque, "@@P_ID_LANCTOESTOQUE")); } else { TpBusca[] filtro = new TpBusca[0]; Array.Resize(ref filtro, filtro.Length + 1); filtro[0].vNM_Campo = "d.cd_EMPRESA"; filtro[0].vOperador = "="; filtro[0].vVL_Busca = "'" + val.CD_Empresa + "'"; Array.Resize(ref filtro, filtro.Length + 1); filtro[1].vNM_Campo = "a.cd_produto"; filtro[1].vOperador = "="; filtro[1].vVL_Busca = "'" + val.CD_Produto + "'"; Array.Resize(ref filtro, filtro.Length + 1); filtro[2].vNM_Campo = "E.ST_REGISTRO"; filtro[2].vOperador = "="; filtro[2].vVL_Busca = "'A'"; DataTable TB_Local_Amx = null;//new TCD_Movimentacao().BuscarSaldo(filtro); if ((TB_Local_Amx == null) || (TB_Local_Amx.Rows.Count == 0)) { throw new Exception("O Almoxarifado não possui SALDO suficiente!"); } else { if (val.Quantidade > Convert.ToDecimal(TB_Local_Amx.Rows[0]["Tot_Saldo"].ToString())) { throw new Exception("O Almoxarifado não possui SALDO suficiente!"); } } //BUSCA OS DADOS DE ENTREGA TpBusca[] vBusca = new TpBusca[0]; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.ID_Requisicao"; vBusca[vBusca.Length - 1].vOperador = "="; vBusca[vBusca.Length - 1].vVL_Busca = val.ID_Requisicao.ToString(); Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "b.cd_produto"; vBusca[vBusca.Length - 1].vOperador = "="; vBusca[vBusca.Length - 1].vVL_Busca = "'" + val.CD_Produto + "'"; //InsumoEstoque.Id_LanctoEstoque = Convert.ToDecimal(new TCD_LanEntregaRequisicao().BuscarEscalar(vBusca, "b.Id_LanctoEstoque").ToString()); //InsumoEstoque.Id_Entrega = Convert.ToDecimal(new TCD_LanEntregaRequisicao().BuscarEscalar(vBusca, "a.Id_Entrega").ToString()); } if (InsumoEstoque.Id_LanctoEstoque > 0) { //MANDA GRAVAR A INSUMO val.ID_Lancto = 0; retorno = lanInsumo.GravaLanInsumos(val); InsumoEstoque.Id_Lancto = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_LANCTO")); InsumoEstoque.ID_LanctoAtiv = Convert.ToDecimal(val.ID_LanctoAtiv); //GRAVA O LANÇAMENTO INSUMO X ESTOQUE InsumoEstoque.Cd_Produto = val.CD_Produto; InsumoEstoque.Cd_Empresa = val.CD_Empresa; TCD_LanInsumos_X_Estoque TCD_InsumoEstoque = new TCD_LanInsumos_X_Estoque(); TCD_InsumoEstoque.Banco_Dados = banco; TCD_InsumoEstoque.GravaLanInsumos_X_Estoque(InsumoEstoque); } else { throw new Exception("Não foi possível lançar o estoque, por favor tente novamente!"); } if (pode_liberar) { lanInsumo.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception erro) { if (pode_liberar) { lanInsumo.Banco_Dados.RollBack_Tran(); } throw new Exception(erro.Message); } finally { if (pode_liberar) { lanInsumo.deletarBanco_Dados(); } } }
public static string DeletaLanInsumos(TRegistro_LanInsumos val, TObjetoBanco banco) { bool pode_liberar = false; TCD_LanInsumos lanInsumo = new TCD_LanInsumos(); try { if (banco == null) { lanInsumo.CriarBanco_Dados(true); pode_liberar = true; banco = lanInsumo.Banco_Dados; } else { lanInsumo.Banco_Dados = banco; } string retorno = ""; TlistLanInsumos_X_Estoque listaEstoque = TCN_LanInsumos_X_Estoque.Busca(val.CD_Empresa, val.CD_Produto, 0, Convert.ToDecimal(val.ID_Lancto), 0, Convert.ToDecimal(val.ID_LanctoAtiv)); if (listaEstoque != null && listaEstoque.Count > 0) { if (val.ID_Requisicao <= 0 || val.ID_Requisicao == null) { //GRAVA O LANÇAMENTO EM ESTOQUE TRegistro_LanEstoque reg_estoque = new TRegistro_LanEstoque(); reg_estoque.Cd_produto = val.CD_Produto; reg_estoque.Cd_local = val.CD_Local; reg_estoque.Id_lanctoestoque = listaEstoque[0].Id_LanctoEstoque; reg_estoque.Qtd_saida = val.Quantidade; reg_estoque.Cd_empresa = val.CD_Empresa; reg_estoque.St_registro = "C"; reg_estoque.Tp_movimento = "S"; TCD_LanEstoque TCD_Estoque = new TCD_LanEstoque(); TCD_Estoque.Banco_Dados = banco; string ret_estoque = TCD_Estoque.DeletaEstoque(reg_estoque); } //MANDA GRAVAR A INSUMO TRegistro_LanInsumos_X_Estoque InsumoEstoque = new TRegistro_LanInsumos_X_Estoque(); InsumoEstoque.Id_Lancto = Convert.ToDecimal(val.ID_Lancto); InsumoEstoque.ID_LanctoAtiv = Convert.ToDecimal(val.ID_LanctoAtiv); //GRAVA O LANÇAMENTO INSUMO X ESTOQUE InsumoEstoque.Cd_Produto = val.CD_Produto; InsumoEstoque.Cd_Empresa = val.CD_Empresa; InsumoEstoque.Id_LanctoEstoque = listaEstoque[0].Id_LanctoEstoque; TCD_LanInsumos_X_Estoque TCD_InsumoEstoque = new TCD_LanInsumos_X_Estoque(); TCD_InsumoEstoque.Banco_Dados = banco; TCD_InsumoEstoque.DeletaLanInsumos_X_Estoque(InsumoEstoque); retorno = lanInsumo.DeletaLanInsumos(val); } else { throw new Exception("Não foi possível remover o insumo, por favor tente novamente!"); } if (pode_liberar) { lanInsumo.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception erro) { if (pode_liberar) { lanInsumo.Banco_Dados.RollBack_Tran(); } throw new Exception(erro.Message); } finally { if (pode_liberar) { lanInsumo.deletarBanco_Dados(); } } }
public static string GravarEstoque(TRegistro_LanEstoque val, TObjetoBanco banco) { //Validar Campos obrigatorios para gravar estoque if (string.IsNullOrEmpty(val.Cd_empresa)) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: CD_Empresa\r\n" + "Método: GravarEstoque\r\n" + "Classe: TCN_LanEstoque"); } if (string.IsNullOrEmpty(val.Cd_produto)) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: CD_Produto\r\n" + "Método: GravarEstoque\r\n" + "Classe: TCN_LanEstoque"); } if (val.Dt_lancto.Equals(new DateTime())) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: DT_Lancto\r\n" + "Método: GravarEstoque\r\n" + "Classe: TCN_LanEstoque"); } if (string.IsNullOrEmpty(val.Tp_movimento)) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: TP_Movimento\r\n" + "Método: GravarEstoque\r\n" + "Classe: TCN_LanEstoque"); } if (string.IsNullOrEmpty(val.Tp_lancto)) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: TP_Lancto\r\n" + "Método: GravarEstoque\r\n" + "Classe: TCN_LanEstoque"); } bool pode_liberar = false; TCD_LanEstoque qtb_estoque = new TCD_LanEstoque(); try { if (banco == null) { pode_liberar = qtb_estoque.CriarBanco_Dados(true); } else { qtb_estoque.Banco_Dados = banco; } //Gravar Estoque string retorno = string.Empty; if ((!new TCD_CadProduto(qtb_estoque.Banco_Dados).ItemServico(val.Cd_produto)) && (!new TCD_CadProduto(qtb_estoque.Banco_Dados).ProdutoConsumoInterno(val.Cd_produto))) { if (val.Tp_movimento.Trim().Equals("S")) { decimal saldo = 0; if (BloquearEstoqueNegativo(val.Cd_empresa, val.Cd_produto, val.Cd_local, val.Qtd_saida, ref saldo, qtb_estoque.Banco_Dados)) { throw new Exception("Saldo insuficiente para baixar estoque do produto:\r\n" + val.Cd_produto + " - " + val.Ds_produto + "\r\n" + "No local de armazenagem: " + val.Cd_local.Trim() + "-" + val.Ds_local.Trim() + "\r\n" + "Saldo Disponivel: " + saldo.ToString("### ### ##0.000") + "\r\n" + "Saldo Requerido: " + val.Qtd_saida.ToString("### ### ##0.000") + "\r\n" + "Informe o Depto Contabil para lançamento da provisão de estoque !"); } } retorno = qtb_estoque.GravaEstoque(val); val.Id_lanctoestoque = decimal.Parse(CamadaDados.TDataQuery.getPubVariavel(retorno, "@@P_ID_LANCTOESTOQUE")); //Gravar Lote Anvisa val.lMovLoteAnvisa.ForEach(p => { p.Id_lanctoestoque = val.Id_lanctoestoque; Faturamento.LoteAnvisa.TCN_MovLoteAnvisa.Gravar(p, qtb_estoque.Banco_Dados); }); //Gravar Grade val.lGrade.ForEach(p => TCN_GradeEstoque.Gravar(new TRegistro_GradeEstoque() { Cd_empresa = val.Cd_empresa, Cd_produto = val.Cd_produto, Id_lanctoestoque = val.Id_lanctoestoque, Id_caracteristica = p.Id_caracteristica, Id_item = p.Id_item, quantidade = p.Vl_mov }, qtb_estoque.Banco_Dados)); if (pode_liberar) { qtb_estoque.Banco_Dados.Commit_Tran(); } return(retorno); } return(string.Empty); } catch (Exception ex) { if (pode_liberar) { qtb_estoque.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar estoque: " + ex.Message.Trim()); } finally { if (pode_liberar) { qtb_estoque.deletarBanco_Dados(); } } }
public static string DeletarEstoque(TRegistro_LanEstoque val, TObjetoBanco banco) { if (val.Cd_empresa.Trim().Equals("")) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: CD_Empresa\r\n" + "Método: DeletarEstoque\r\n" + "Classe: TCN_LanEstoque"); } if (val.Cd_produto.Trim().Equals("")) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: CD_Produto\r\n" + "Método: DeletarEstoque\r\n" + "Classe: TCN_LanEstoque"); } if (val.Id_lanctoestoque < 1) { throw new Exception("Campo Obrigatorio !\r\n" + "Campo: ID_LanctoEstoque\r\n" + "Método: DeletarEstoque\r\n" + "Classe: TCN_LanEstoque"); } string retorno = string.Empty; bool pode_liberar = false; TCD_LanEstoque qtb_estoque = new TCD_LanEstoque(); try { if (banco == null) { pode_liberar = qtb_estoque.CriarBanco_Dados(true); } else { qtb_estoque.Banco_Dados = banco; } retorno = qtb_estoque.DeletaEstoque(val); if (pode_liberar) { qtb_estoque.Banco_Dados.Commit_Tran(); } return(retorno); } catch { if (pode_liberar) { qtb_estoque.Banco_Dados.RollBack_Tran(); } return(string.Empty); } finally { if (pode_liberar) { qtb_estoque.deletarBanco_Dados(); } } }