public new async Task <Transferencia> AddAsync(Transferencia entidade)
        {
            var contas = (await _contaRepositorio.GetAsync(x => x.Id == entidade.Movimentacao.IdConta || x.Id == entidade.IdContaDestino)).ToList();

            entidade.ContaDestino       = contas?.FirstOrDefault(x => x.Id == entidade.IdContaDestino);
            entidade.Movimentacao.Conta = contas?.FirstOrDefault(x => x.Id == entidade.Movimentacao.IdConta);
            if (!base.ValidarEntidade(entidade))
            {
                return(null);
            }
            entidade.Transferir();
            await _contaRepositorio.UpdatePropsAsync(entidade.ContaDestino, nameof(Conta.Saldo));

            await _contaRepositorio.UpdatePropsAsync(entidade.Movimentacao.Conta, nameof(Conta.Saldo));

            await _movimentacao.AddAsync(entidade.ContaDestino.Movimentacoes.First());

            await base.AddAsync(entidade);

            await base.CommitAsync();

            return(entidade);
        }