public static string ProcessarNegociacao(TRegistro_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; } //Percorrer lista de fornecedor val.lItens.ForEach(p => { if (p.St_processar) { //Alterar status para V - Aprovada p.St_registro = "V"; TCN_NegociacaoItem.GravarNegociacaoItem(p, qtb_neg.Banco_Dados); } else { //Alterar status para R - Refugada p.St_registro = "R"; TCN_NegociacaoItem.GravarNegociacaoItem(p, qtb_neg.Banco_Dados); } }); //Alterar status da negociacao para P - Processada val.St_registro = "P"; val.Dt_fechnegociacao = CamadaDados.UtilData.Data_Servidor(); string retorno = qtb_neg.GravarNegociacao(val); 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 processar negociação: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_neg.deletarBanco_Dados(); } } }
public static string GravarNegociacao(TRegistro_Negociacao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Negociacao qtb_negociacao = new TCD_Negociacao(); try { if (banco == null) { st_transacao = qtb_negociacao.CriarBanco_Dados(true); } else { qtb_negociacao.Banco_Dados = banco; } //Gravar negociacao string retorno = qtb_negociacao.GravarNegociacao(val); val.Id_negociacao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_NEGOCIACAO")); //Deletar itens da negociacao val.lItensDel.ForEach(p => TCN_NegociacaoItem.DeletarNegociacaoItem(p, qtb_negociacao.Banco_Dados)); //Gravar itens da negociacao val.lItens.ForEach(p => { p.Id_negociacao = val.Id_negociacao; TCN_NegociacaoItem.GravarNegociacaoItem(p, qtb_negociacao.Banco_Dados); }); if (st_transacao) { qtb_negociacao.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_negociacao.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar negociacao: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_negociacao.deletarBanco_Dados(); } } }
public static string DeletarNegociacao(TRegistro_Negociacao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Negociacao qtb_negociacao = new TCD_Negociacao(); try { if (banco == null) { st_transacao = qtb_negociacao.CriarBanco_Dados(true); } else { qtb_negociacao.Banco_Dados = banco; } //Verificar se existe requisicao utilizando negociacao //Cancelar itens val.lItens.ForEach(p => { p.St_registro = "C"; TCN_NegociacaoItem.GravarNegociacaoItem(p, qtb_negociacao.Banco_Dados); }); val.St_registro = "C";//cancelada GravarNegociacao(val, qtb_negociacao.Banco_Dados); if (st_transacao) { qtb_negociacao.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_negociacao.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro cancelar negociacao: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_negociacao.deletarBanco_Dados(); } } }
public static void EncerrarNegociacao(TRegistro_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.St_registro = "E"; qtb_neg.GravarNegociacao(val); 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 encerrar negociação: " + 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(); } } }