예제 #1
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_excluiCart ");

            /// USER [ execute ]

            T_Cartao cart = new T_Cartao(this);

            if (!cart.select_rows_tudo(input_emp, input_mat, input_tit))
            {
                PublishError("Cartão não disponivel");
                return(false);
            }

            if (!cart.fetch())
            {
                return(false);
            }

            if (cart.get_tg_emitido() == StatusExpedicao.Expedido)
            {
                PublishError("Cartão não pode ser excluido - status expedido");
                return(false);
            }

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            if (ltr.select_fk_cartao(cart.get_identity()))
            {
                PublishError("Cartão não pode ser excluido - já possui movimentação");
                return(false);
            }

            if (cart.get_st_titularidade() == "01")
            {
                T_Proprietario prot = new T_Proprietario(this);

                prot.selectIdentity(cart.get_fk_dadosProprietario());
                prot.delete();
            }
            else
            {
                T_Dependente dep = new T_Dependente(this);

                if (dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade()))
                {
                    dep.fetch();
                    dep.delete();
                }
            }

            cart.delete();

            PublishNote("Cartão removido do sistema");

            /// USER [ execute ] END

            Registry("execute done exec_excluiCart ");

            return(true);
        }