public static string Gravar(TRegistro_EntregaPedido val, TObjetoBanco banco) { bool st_transacao = false; TCD_EntregaPedido cd = new TCD_EntregaPedido(); try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } val.Id_entregastr = CamadaDados.TDataQuery.getPubVariavel(cd.Gravar(val), "@P_ID_ENTREGA"); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return(val.Id_entregastr); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar entrega: " + ex.Message.Trim()); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }
public static string GravarRecontagem(TList_EntregaPedido val, BancoDados.TObjetoBanco banco) { string retorno = string.Empty; bool st_transacao = false; TCD_EntregaPedido qtb_entrega = new TCD_EntregaPedido(); try { if (banco == null) { st_transacao = qtb_entrega.CriarBanco_Dados(true); } else { qtb_entrega.Banco_Dados = banco; } val.ForEach(p => { if (p.St_recontar) { //Verificar se a conferencia ja nao foi utilizada pelo faturamento object obj = new CamadaDados.Faturamento.NotaFiscal.TCD_Faturamento_Item_X_Estoque(qtb_entrega.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.id_entrega", vOperador = "=", vVL_Busca = p.Id_entrega.Value.ToString() } }, "1"); if (obj == null) { p.St_registro = "R"; qtb_entrega.Gravar(p); } else { retorno += "Id. Entrega: " + p.Id_entrega.Value.ToString() + "\r\n"; } } }); if (st_transacao) { qtb_entrega.Banco_Dados.Commit_Tran(); } if (retorno.Trim() != string.Empty) { retorno = "As seguintes entregas ja foram consumidas pelo faturamento, portanto não podem mais ser recontadas.\r\n" + retorno.Trim(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_entrega.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro recontar: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_entrega.deletarBanco_Dados(); } } }