getDataMensal method

List<FiltrosModel> getDataMensal({
  1. required String mesInicial,
})

Implementation

List<FiltrosModel> getDataMensal({required String mesInicial}) {
  List<FiltrosModel> filtro = [];
  dataCampanhaInicial = ("${DateTime.now().month}/${DateFormat.y().format(DateTime.now())}").padLeft(7, "0");

  var data1 = DateTime(int.parse(mesInicial.split("/").last), int.parse(mesInicial.split("/").first), 01);
  var data2 = DateTime.now();
  int year = data2.year;
  int month = data2.month;
  int temp = ((data2.year - data1.year) * 12 + data2.month - data1.month) + 1;

  for(var i = 0; i<temp; i++){
    if(data2.month - i > 0){
      filtro.add(
        FiltrosModel(
          codigo: "${(month - i)}/$year",
          titulo: "${(monthNames[month - i - 1])}/$year"
        )
      );
    }
    else{
      if(month - i + ((data2.year - year) * 12) <= 0){
        year--;
        filtro.add(
          FiltrosModel(
            codigo: "${(month - i + ((data2.year - year) * 12))}/$year",
            titulo: "${monthNames[(month - i + ((data2.year - year) * 12)) -1]}/$year"
          )
        );
      }else {
        filtro.add(
          FiltrosModel(
            codigo: "${(month - i + ((data2.year - year) * 12))}/$year",
            titulo: "${monthNames[(month - i + ((data2.year - year) * 12))-1]}/$year"
          )
        );
      }
    }
  }

  return filtro;
}