public static string Excluir(TRegistro_GuardaVolume val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_GuardaVolume qtb_vol = new TCD_GuardaVolume(); try { if (banco == null) { st_transacao = qtb_vol.CriarBanco_Dados(true); } else { qtb_vol.Banco_Dados = banco; } try { //Excluir qtb_vol.Excluir(val); } catch { //Cancelar val.St_registro = "C"; qtb_vol.Gravar(val); } if (st_transacao) { qtb_vol.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_vol.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir guarda volume: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_vol.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_GuardaVolume val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_GuardaVolume qtb_vol = new TCD_GuardaVolume(); try { if (banco == null) { st_transacao = qtb_vol.CriarBanco_Dados(true); } else { qtb_vol.Banco_Dados = banco; } val.Id_guardavolstr = CamadaDados.TDataQuery.getPubVariavel(qtb_vol.Gravar(val), "@P_ID_GUARDAVOL"); //Excluir Itens val.lItensGuardaVolumeDel.ForEach(p => TCN_ItensGuardaVolume.Excluir(p, qtb_vol.Banco_Dados)); //Gravar Itens val.lItensGuardaVolume.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_guardavolstr = val.Id_guardavolstr; TCN_ItensGuardaVolume.Gravar(p, qtb_vol.Banco_Dados); }); if (st_transacao) { qtb_vol.Banco_Dados.Commit_Tran(); } return(val.Id_mudancastr); } catch (Exception ex) { if (st_transacao) { qtb_vol.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar guarda volume: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_vol.deletarBanco_Dados(); } } }
public static string RetirarItens(TRegistro_GuardaVolume val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_GuardaVolume qtb_vol = new TCD_GuardaVolume(); try { if (banco == null) { st_transacao = qtb_vol.CriarBanco_Dados(true); } else { qtb_vol.Banco_Dados = banco; } //Excluir Retirada val.lRetGuardaVolDel.ForEach(p => TCN_RetGuardaVol.Excluir(p, qtb_vol.Banco_Dados)); //Gravar Retirada val.lRetGuardaVol.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_guardavolstr = val.Id_guardavolstr; TCN_RetGuardaVol.Gravar(p, qtb_vol.Banco_Dados); }); //Verificar se guarda volume tem saldo a retirar finalizado. if (new CamadaDados.Mudanca.TCD_GuardaVolume(qtb_vol.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_guardavol", vOperador = "=", vVL_Busca = val.Id_guardavolstr }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "not exists", vVL_Busca = "(select 1 from VTB_MUD_ITENSGUARDAVOLUME x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_guardavol = a.id_guardavol " + "and isnull(x.quantidade - x.qtd_retirada, 0) > 0 " + "and isnull(x.st_registro, 'A') <> 'C' )" } }, "1") != null) { val.St_registro = "F"; qtb_vol.Gravar(val); } if (st_transacao) { qtb_vol.Banco_Dados.Commit_Tran(); } return(val.Id_mudancastr); } catch (Exception ex) { if (st_transacao) { qtb_vol.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro Retirar guarda volume: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_vol.deletarBanco_Dados(); } } }