public static string Gravar(TRegistro_PreVenda_Item val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PreVenda_Item qtb_orc = new TCD_PreVenda_Item(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } if (val.tapTransactions != null) { val.Ch_torneira = val.tapTransactions.cardId.ToString() + "|" + val.tapTransactions.tstStart.ToString() + "|" + val.tapTransactions.plu.ToString(); } string ret = qtb_orc.Gravar(val); val.id_prevenda = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_PREVENDA")); val.id_item = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_ITEM")); val.lSabores.ForEach(p => { p.Cd_Empresa = val.Cd_empresa; p.Id_PreVenda = val.id_prevenda; p.Id_Item = val.id_item; if (!string.IsNullOrEmpty(p.ID_Sabor.ToString())) { TCN_SaboresItens.Gravar(p, qtb_orc.Banco_Dados); } }); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(val.id_prevenda.ToString()); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar pre venda: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
public static string ExcluirC(TRegistro_PreVenda_Item val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PreVenda_Item qtb_orc = new TCD_PreVenda_Item(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } //Verificar se existir itens filhos new TCD_PreVenda_Item(qtb_orc.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.ID_PreVenda", vOperador = "=", vVL_Busca = val.id_prevenda.ToString() }, new TpBusca() { vNM_Campo = "a.ID_ItemPaiAdic", vOperador = "=", vVL_Busca = val.id_item.ToString() } //Excluir Itens Filhos }, 0, string.Empty).ForEach(p => { p.st_registro = "C"; qtb_orc.Gravar(p); }); val.lSabores.ForEach(p => { TCN_SaboresItens.Excluir(p, qtb_orc.Banco_Dados); }); //Cancelamento das movimentações boliche TList_MovBoliche _MovBoliches = TCN_MovBoliche.Buscar(val.Cd_empresa, string.Empty, string.Empty, string.Empty, val.id_prevenda.ToString(), val.id_item.ToString(), null); _MovBoliches.ForEach(r => { r.Cancelado = true; r.LoginCanc = val.LoginCanc; new TCD_MovBoliche(qtb_orc.Banco_Dados).Gravar(r); }); qtb_orc.Gravar(val); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir pre venda item: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }