public static void Cancelar(TRegistro_Movimentacao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Movimentacao qtb_mov = new TCD_Movimentacao(); try { if (banco == null) { st_transacao = qtb_mov.CriarBanco_Dados(true); } else { qtb_mov.Banco_Dados = banco; } if (val.Tp_movimento.Trim().ToUpper().Equals("E")) { decimal saldo = TCN_SaldoAlmoxarifado.ConsultaSaldoAlmox(val.Cd_empresa, val.Id_almoxstr, val.Cd_produto, qtb_mov.Banco_Dados); if (saldo < val.Quantidade) { throw new Exception("Não existe saldo suficiente para cancelar movimentação.\r\n" + "Saldo Atual: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR")) + "\r\n" + "Qtde Requerida: " + val.Quantidade.ToString("N3", new System.Globalization.CultureInfo("pt-BR"))); } } val.St_registro = "C"; Gravar(val, qtb_mov.Banco_Dados); if (st_transacao) { qtb_mov.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_mov.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro cancelar movimentação: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mov.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_Movimentacao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Movimentacao qtb_mov = new TCD_Movimentacao(); try { if (banco == null) { st_transacao = qtb_mov.CriarBanco_Dados(true); } else { qtb_mov.Banco_Dados = banco; } qtb_mov.Excluir(val); if (st_transacao) { qtb_mov.Banco_Dados.Commit_Tran(); } return(val.Id_movimentostr); } catch (Exception ex) { if (st_transacao) { qtb_mov.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir movimentação: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mov.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_Movimentacao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Movimentacao qtb_mov = new TCD_Movimentacao(); try { if (banco == null) { st_transacao = qtb_mov.CriarBanco_Dados(true); } else { qtb_mov.Banco_Dados = banco; } if (val.Tp_movimento.Trim().ToUpper().Equals("S")) { decimal saldo = TCN_SaldoAlmoxarifado.ConsultaSaldoAlmox(val.Cd_empresa, val.Id_almoxstr, val.Cd_produto, qtb_mov.Banco_Dados); if (saldo < val.Quantidade) { throw new Exception("Não existe saldo suficiente para gravar movimentação.\r\n" + "Saldo Atual: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR")) + "\r\n" + "Qtde Requerida: " + val.Quantidade.ToString("N3", new System.Globalization.CultureInfo("pt-BR"))); } } val.LoginAlmoxarife = Utils.Parametros.pubLogin; val.Id_movimentostr = CamadaDados.TDataQuery.getPubVariavel(qtb_mov.Gravar(val), "@P_ID_MOVIMENTO"); if (val.rNFItem != null) { val.rNFItem.Id_movimento = val.Id_movimento; TCN_Mov_X_NFItem.Gravar(val.rNFItem, qtb_mov.Banco_Dados); } if (val.rRequisicao != null) { val.rRequisicao.Id_movimento = val.Id_movimento; val.rRequisicao.Cd_empresa = val.Cd_empresa; TCN_Mov_X_Requisicao.Gravar(val.rRequisicao, qtb_mov.Banco_Dados); } if (st_transacao) { qtb_mov.Banco_Dados.Commit_Tran(); } return(val.Id_movimentostr); } catch (Exception ex) { if (st_transacao) { qtb_mov.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar movimentação: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mov.deletarBanco_Dados(); } } }