public static string GravarNegociacaoItem(TRegistro_NegociacaoItem val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_NegociacaoItem qtb_neg = new TCD_NegociacaoItem(); try { if (banco == null) { st_transacao = qtb_neg.CriarBanco_Dados(true); } else { qtb_neg.Banco_Dados = banco; } string retorno = qtb_neg.GravarNegociacaoItem(val); val.Id_item = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_ITEM")); //Gravar prazo entrega val.lPrazoEntrega.ForEach(p => { p.Id_negociacao = val.Id_negociacao; p.Id_item = val.Id_item; TCN_PrazoEntrega.GravarPrazoEntrega(p, qtb_neg.Banco_Dados); }); //Deletar prazo entrega val.lPrazoEntregaDel.ForEach(p => TCN_PrazoEntrega.DeletarPrazoEntrega(p, qtb_neg.Banco_Dados)); if (st_transacao) { qtb_neg.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_neg.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar item: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_neg.deletarBanco_Dados(); } } }
public static string DeletarNegociacaoItem(TRegistro_NegociacaoItem val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_NegociacaoItem qtb_neg = new TCD_NegociacaoItem(); try { if (st_transacao) { qtb_neg.CriarBanco_Dados(true); } else { qtb_neg.Banco_Dados = banco; } //Deletar prazo entrega val.lPrazoEntregaDel.ForEach(p => TCN_PrazoEntrega.DeletarPrazoEntrega(p, qtb_neg.Banco_Dados)); val.lPrazoEntrega.ForEach(p => TCN_PrazoEntrega.DeletarPrazoEntrega(p, qtb_neg.Banco_Dados)); //Deletar item negociacao qtb_neg.DeletarNegociacaoItem(val); if (st_transacao) { qtb_neg.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_neg.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir item: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_neg.deletarBanco_Dados(); } } }
public static void LancarNegFornec(TList_Negociacao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Negociacao qtb_neg = new TCD_Negociacao(); try { if (banco == null) { st_transacao = qtb_neg.CriarBanco_Dados(true); } else { qtb_neg.Banco_Dados = banco; } val.ForEach(p => { //Verificar se existe negociacao em aberto ou fechada para o produto TList_Negociacao aux = Buscar(string.Empty, p.Cd_produto, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, "'A', 'F'", 1, string.Empty, qtb_neg.Banco_Dados); if (aux.Count > 0) { p.lItens.ForEach(v => { v.Id_negociacao = aux[0].Id_negociacao; TCN_NegociacaoItem.GravarNegociacaoItem(v, qtb_neg.Banco_Dados); }); } else { //Gravar negociacao string retorno = qtb_neg.GravarNegociacao(p); //Gravar item negociacao p.lItens.ForEach(v => { v.Id_negociacao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_NEGOCIACAO")); string ret = TCN_NegociacaoItem.GravarNegociacaoItem(v, qtb_neg.Banco_Dados); v.lPrazoEntrega.ForEach(x => { x.Id_negociacao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_NEGOCIACAO")); x.Id_item = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_ITEM")); TCN_PrazoEntrega.GravarPrazoEntrega(x, qtb_neg.Banco_Dados); }); }); } }); if (st_transacao) { qtb_neg.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_neg.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro lançar negociação: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_neg.deletarBanco_Dados(); } } }