Example #1
0
        public static void Estornar(TRegistro_OrdemCompra val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_OrdemCompra qtb_ordem    = new TCD_OrdemCompra();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_ordem.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_ordem.Banco_Dados = banco;
                }
                //Buscar requisicao amarrada a ordem compra
                if (val.Id_requisicao != null)
                {
                    TRegistro_Requisicao rReq = TCN_Requisicao.Buscar(val.Id_requisicao.Value.ToString(),
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      string.Empty,
                                                                      false,
                                                                      false,
                                                                      false,
                                                                      "'E'",
                                                                      false,
                                                                      qtb_ordem.Banco_Dados)[0];
                    rReq.St_requisicao = "AP";
                    TCN_Requisicao.AlterarRequisicao(rReq, qtb_ordem.Banco_Dados);
                }
                //Cancelar Ordem Compra
                val.St_registro = "C";
                Gravar(val, qtb_ordem.Banco_Dados);
                if (st_transacao)
                {
                    qtb_ordem.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_ordem.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro cancelar ordem compra: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_ordem.deletarBanco_Dados();
                }
            }
        }