public TList_Negociacao Select(TpBusca[] vBusca, Int32 vTop, string vNM_Campo) { bool podeFecharBco = false; TList_Negociacao lista = new TList_Negociacao(); if (Banco_Dados == null) { podeFecharBco = this.CriarBanco_Dados(false); } SqlDataReader reader = this.ExecutarBusca(this.SqlCodeBusca(vBusca, vTop, vNM_Campo)); try { while (reader.Read()) { TRegistro_Negociacao reg = new TRegistro_Negociacao(); if (!(reader.IsDBNull(reader.GetOrdinal("ID_Negociacao")))) { reg.Id_negociacao = reader.GetDecimal(reader.GetOrdinal("ID_Negociacao")); } if (!(reader.IsDBNull(reader.GetOrdinal("CD_Produto")))) { reg.Cd_produto = reader.GetString(reader.GetOrdinal("CD_Produto")); } if (!(reader.IsDBNull(reader.GetOrdinal("DS_Produto")))) { reg.Ds_produto = reader.GetString(reader.GetOrdinal("DS_Produto")); } if (!(reader.IsDBNull(reader.GetOrdinal("Sigla_Unidade")))) { reg.Sigla_unidade = reader.GetString(reader.GetOrdinal("Sigla_Unidade")); } if (!(reader.IsDBNull(reader.GetOrdinal("CD_Grupo")))) { reg.Cd_grupo = reader.GetString(reader.GetOrdinal("CD_Grupo")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Grupo"))) { reg.Ds_grupo = reader.GetString(reader.GetOrdinal("DS_Grupo")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Negociacao"))) { reg.Ds_negociacao = reader.GetString(reader.GetOrdinal("DS_Negociacao")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Observacao"))) { reg.Ds_observacao = reader.GetString(reader.GetOrdinal("DS_Observacao")); } if (!reader.IsDBNull(reader.GetOrdinal("DT_Negociacao"))) { reg.Dt_negociacao = reader.GetDateTime(reader.GetOrdinal("DT_Negociacao")); } if (!reader.IsDBNull(reader.GetOrdinal("DT_FechNegociacao"))) { reg.Dt_fechnegociacao = reader.GetDateTime(reader.GetOrdinal("DT_FechNegociacao")); } if (!reader.IsDBNull(reader.GetOrdinal("ST_Registro"))) { reg.St_registro = reader.GetString(reader.GetOrdinal("ST_Registro")); } if (!reader.IsDBNull(reader.GetOrdinal("LoginAprovaReprova"))) { reg.Loginaprovareprova = reader.GetString(reader.GetOrdinal("LoginAprovaReprova")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { this.deletarBanco_Dados(); } } return(lista); }
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(); } } }