public static void GravarDesdobroContratoXPedidoItem(TList_CadContratoxPedidoItem val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadContratoxPedidoItem qtb_reg = new TCD_CadContratoxPedidoItem(); try { if (banco == null) { st_transacao = qtb_reg.CriarBanco_Dados(true); } else { qtb_reg.Banco_Dados = banco; } val.ForEach(p => { //Excluir desdobros p.lDesdEspecialDel.ForEach(v => TCN_ContratoItem_X_DesdEspecial.Excluir(v, qtb_reg.Banco_Dados)); //Inserir/Alterar desdobros p.lDesdEspecial.ForEach(v => { v.Nr_contratoorig = p.Nr_contrato; v.Nr_pedidoorig = p.Nr_pedido; v.Cd_produtoorig = p.Cd_produto; v.Id_pedidoitemorig = p.Id_pedidoitem; TCN_ContratoItem_X_DesdEspecial.Gravar(v, qtb_reg.Banco_Dados); }); }); if (st_transacao) { qtb_reg.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_reg.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar desdobro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_reg.deletarBanco_Dados(); } } }
public TList_CadContratoxPedidoItem Select(TpBusca[] vBusca, Int32 vTop, string vNM_Campo) { bool podeFecharBco = false; TList_CadContratoxPedidoItem lista = new TList_CadContratoxPedidoItem(); if (Banco_Dados == null) { this.CriarBanco_Dados(false); podeFecharBco = true; } SqlDataReader reader = this.ExecutarBusca(this.SqlCodeBusca(vBusca, vTop, vNM_Campo)); try { while (reader.Read()) { TRegistro_CadContratoxPedidoItem reg = new TRegistro_CadContratoxPedidoItem(); if (!(reader.IsDBNull(reader.GetOrdinal("Nr_Contrato")))) { reg.Nr_contrato = reader.GetDecimal(reader.GetOrdinal("Nr_Contrato")); } if (!(reader.IsDBNull(reader.GetOrdinal("Nr_Pedido")))) { reg.Nr_pedido = reader.GetDecimal(reader.GetOrdinal("Nr_Pedido")); } if (!reader.IsDBNull(reader.GetOrdinal("NM_Clifor"))) { reg.Nm_clifor = reader.GetString(reader.GetOrdinal("NM_Clifor")); } 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("id_pedidoitem"))) { reg.Id_pedidoitem = reader.GetDecimal(reader.GetOrdinal("id_pedidoitem")); } if (!reader.IsDBNull(reader.GetOrdinal("nr_contratoorigem"))) { reg.Nr_contrato_origem = Convert.ToDecimal(reader.GetString(reader.GetOrdinal("nr_contratoorigem"))); } if (!reader.IsDBNull(reader.GetOrdinal("cd_empresa"))) { reg.Cd_empresa = reader.GetString(reader.GetOrdinal("cd_empresa")); } if (!reader.IsDBNull(reader.GetOrdinal("nm_empresa"))) { reg.Nm_empresa = reader.GetString(reader.GetOrdinal("nm_empresa")); } if (!reader.IsDBNull(reader.GetOrdinal("anosafra"))) { reg.Anosafra = reader.GetString(reader.GetOrdinal("anosafra")); } if (!reader.IsDBNull(reader.GetOrdinal("dt_abertura"))) { reg.Dt_abertura = reader.GetDateTime(reader.GetOrdinal("dt_abertura")); } if (!reader.IsDBNull(reader.GetOrdinal("dt_encerramento"))) { reg.Dt_encerramento = reader.GetDateTime(reader.GetOrdinal("dt_encerramento")); } if (!reader.IsDBNull(reader.GetOrdinal("tp_movimento"))) { reg.Tp_movimento = reader.GetString(reader.GetOrdinal("tp_movimento")); } if (!reader.IsDBNull(reader.GetOrdinal("cd_clifor"))) { reg.Cd_clifor = reader.GetString(reader.GetOrdinal("cd_clifor")); } if (!reader.IsDBNull(reader.GetOrdinal("nm_clifor"))) { reg.Nm_clifor = reader.GetString(reader.GetOrdinal("nm_clifor")); } if (!reader.IsDBNull(reader.GetOrdinal("st_gmo"))) { reg.St_Gmo = reader.GetString(reader.GetOrdinal("st_gmo")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { this.deletarBanco_Dados(); } } return(lista); }