validarInfoBeneficio static method

String? validarInfoBeneficio(
  1. List? infoBeneficio
)

Valida lista de informações de benefício

infoBeneficio lista de informações de benefício a serem validadas Retorna null se válido, ou uma mensagem de erro se inválido

Implementation

static String? validarInfoBeneficio(List<dynamic>? infoBeneficio) {
  if (infoBeneficio == null || infoBeneficio.isEmpty) {
    return 'Lista de benefícios não pode estar vazia';
  }

  // Valida cada informação de benefício
  for (final info in infoBeneficio) {
    if (info.periodoApuracao is! String || info.indicadorBeneficio is! bool) {
      return 'Informação de benefício inválida';
    }

    final validacao = validarPeriodoApuracao(info.periodoApuracao);
    if (validacao != null) {
      return validacao;
    }
  }

  // Verifica se há períodos duplicados
  final periodos = infoBeneficio
      .map((info) => info.periodoApuracao)
      .cast<String>()
      .toList();
  return validarPeriodosApuracao(periodos);
}