public async Task DeletaRemuneracoes(IEnumerable <int> idsRemuneracoesADeletar)
        {
            IEnumerable <int> idsEntregasFechadas = await _repositorioDeRemuneracoes.ObtemIdsEntregasFechadas();

            IEnumerable <RemuneracaoDeBancoDeSaldo> remuneracoesADeletar = await _gerenciadorDeRemuneracoesDeBancoDeSaldo.ListaPorIds(idsRemuneracoesADeletar);

            IEnumerable <int> idsEntregasARemunerar = from rem in remuneracoesADeletar
                                                      select rem.IdEntrega;

            if (idsEntregasFechadas != null)
            {
                foreach (int idEntregaARemunerar in idsEntregasARemunerar)
                {
                    if (idsEntregasFechadas.Contains(idEntregaARemunerar))
                    {
                        throw new UserException("Não foi possível deletar as remunerações, pois existe pelo menos uma remuneracao fechada entre elas");
                    }
                }
            }
            IEnumerable <int> idsSaldosFuncionariosADeletar = from rem in remuneracoesADeletar
                                                              select rem.IdEntrega;
            IEnumerable <int> idsSaldoClientesADeletar = from rem in remuneracoesADeletar
                                                         select rem.IdEntregaCliente;
            await _repositorioDeBancoDeSaldo.DeletaSaldoFuncionario(idsSaldosFuncionariosADeletar);

            await _repositorioDeBancoDeSaldo.DeletaSaldoCliente(idsSaldoClientesADeletar);

            await _gerenciadorDeRemuneracoesDeBancoDeSaldo.DeletaRemuneracoes(idsRemuneracoesADeletar);
        }