public static string Excluir(TRegistro_TransfLocal val, TObjetoBanco banco) { bool st_transacao = false; TCD_TransfLocal qtb_LanTransfLocal = new TCD_TransfLocal(); try { if (banco == null) { st_transacao = qtb_LanTransfLocal.CriarBanco_Dados(true); } else { qtb_LanTransfLocal.Banco_Dados = banco; } qtb_LanTransfLocal.Excluir(val); if (st_transacao) { qtb_LanTransfLocal.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_LanTransfLocal.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro exclui transf.: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_LanTransfLocal.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_TransfLocal val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_TransfLocal qtb_transf = new TCD_TransfLocal(); try { if (banco == null) { st_transacao = qtb_transf.CriarBanco_Dados(true); } else { qtb_transf.Banco_Dados = banco; } //Gravar Transferencia val.Id_transf = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(qtb_transf.Gravar(val), "@P_ID_TRANSF")); //Buscar valor medio do estoque decimal vl_estoque_medio = 0; if (TCN_LanEstoque.VlMedioEstoque(val.Cd_empresaorigem, val.Cd_produto, ref vl_estoque_medio, qtb_transf.Banco_Dados)) { //Gravar estoque de saida do produto do local de origem string id_estoque_sai = TCN_LanEstoque.GravarEstoque(new TRegistro_LanEstoque() { Cd_produto = val.Cd_produto, Cd_empresa = val.Cd_empresaorigem, Cd_local = val.Cd_localorigem, Dt_lancto = val.Dt_lancto, St_registro = "A", Tp_lancto = "T", Tp_movimento = "S", Qtd_saida = val.Quantidade, Qtd_entrada = decimal.Zero, Vl_unitario = vl_estoque_medio, Vl_subtotal = vl_estoque_medio * val.Quantidade }, qtb_transf.Banco_Dados); //Gravar Transferencia X Estoque de saida TCN_LanTransfLocal_X_Estoque.GravarTransLocal_X_Estoque(new TRegistro_LanTransfLocal_X_Estoque() { Id_transf = val.Id_transf.Value, Cd_empresa = val.Cd_empresaorigem, Cd_produto = val.Cd_produto, Id_lanctoestoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(id_estoque_sai, "@@P_ID_LANCTOESTOQUE")) }, qtb_transf.Banco_Dados); //Gravar estoque de entrada do produto no local de destino string id_estoque_ent = TCN_LanEstoque.GravarEstoque(new TRegistro_LanEstoque() { Cd_produto = val.Cd_produto, Cd_empresa = val.Cd_empresadestino, Cd_local = val.Cd_localdestino, Dt_lancto = val.Dt_lancto, St_registro = "A", Tp_lancto = "T", Tp_movimento = "E", Qtd_saida = decimal.Zero, Qtd_entrada = val.Quantidade, Vl_unitario = vl_estoque_medio, Vl_subtotal = vl_estoque_medio * val.Quantidade }, qtb_transf.Banco_Dados); //Gravar Transferencia X Estoque de entrada TCN_LanTransfLocal_X_Estoque.GravarTransLocal_X_Estoque(new TRegistro_LanTransfLocal_X_Estoque() { Id_transf = val.Id_transf.Value, Cd_empresa = val.Cd_empresadestino, Cd_produto = val.Cd_produto, Id_lanctoestoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(id_estoque_ent, "@@P_ID_LANCTOESTOQUE")) }, qtb_transf.Banco_Dados); } else { throw new Exception("Não Existe Valor Médio Para o Produto "); } if (st_transacao) { qtb_transf.Banco_Dados.Commit_Tran(); } return(val.Id_transf.Value.ToString()); } catch (Exception ex) { if (st_transacao) { qtb_transf.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar transf.: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_transf.deletarBanco_Dados(); } } }