private void saveHistoryOfMigrationJuridicPerson2(PessoaJuridica pessoaJuridica, int index)
        {
            var dePara = new HistoricoEstruturaDeParaJuridico();
            dePara.Transaction = this.Transaction;
            dePara.PessoaJuridica = pessoaJuridica;

            foreach (HistoricoEstruturaDeParaJuridico dp in dePara.Find())
            {
                var history = new HistoricoEstruturaDeParaJuridico();
                history.Transaction = this.Transaction;
                history.PessoaJuridica = this.PessoaJuridicaPara;
                history.PessoaJuridicaAntigo = dp.PessoaJuridicaAntigo;
                history.Ordem = index;
                history.Save();
                index++;
            }
        }
        public override void Save()
        {
            if (this.Id != null) throw new Exception("Alteração não permitida para testa classe");
            this.IsTransaction = true;
            try
            {
                base.Save();

                var history = new HistoricoEstruturaDeParaJuridico();
                history.Transaction = this.Transaction;
                history.PessoaJuridica = this.PessoaJuridicaPara;
                history.Delete();

                history.PessoaJuridicaAntigo = this.PessoaJuridicaDe;
                history.Ordem = 0;
                history.Save();

                saveHistoryOfMigrationJuridicPerson2(this.pessoaJuridicaDe, 1);

                this.Commit();
            }
            catch (Exception err)
            {
                this.Rollback();
                throw err;
            }
        }