I have an issue which I can't resolve, I am reading from a sqflite data base and a get method I have uses the class.fromJson method but it never returns anything, not even an error.
Future<int> deleteAllDetalleActividadCalificacion() async {
final db = await database;
final res = await db.rawDelete('''DELETE FROM DetallesActividadCalificacion ''');
return res;
}
Future<List<DetalleActividadCalificacion>> getDetalleActividadCalificacion(int proyectoId) async {
final db = await database;
final res = await db.rawQuery('''SELECT * FROM DetallesActividadCalificacion WHERE proyectoId = $proyectoId ''');
print('this is $res');
List<DetalleActividadCalificacion> list =
res.isNotEmpty ? res.map((e) => DetalleActividadCalificacion.fromJson(e)).toList() : [];
print('this is $list');
return list;
}
In the first print (res) I get the following:
[{id: 50, proyectoId: 384, asignaturaId: 1, asignaturaColorPrimario: #018FB1, asignaturaNombre: EspaƱol, proyectoTitulo: null, secuenciaActividadId: 403, secuenciaActividadTitulo: w, secuenciaActividadDescripcion: w, fechaRegistro: 2020-08-26, rubricaId: null, instrucciones: null, descripcion: null, calificacionId: 4, calificacionNombre: 8}]
Then the second print returns nothing. This means that something might be wrong with my class but I have checked it over and over and even rewrote the class but nothing.
Here is my class model.
import 'dart:convert';
List<DetalleActividadCalificacion> DetalleActividadCalificacionModelFromJson(String str) =>
List<DetalleActividadCalificacion>.from(jsonDecode(str).map((x)=> DetalleActividadCalificacion.fromJson(x)));
String DetalleActividadCalificacionModelToJson(List<DetalleActividadCalificacion> data) =>
json.encode(List<dynamic>.from(data.map((e) => e.toJson())));
class DetalleActividadCalificacion {
int id;
int proyectoId;
int asignaturaId;
String asignaturaColorPrimario;
String asignaturaNombre;
String proyectoTitulo;
int secuenciaActividadId;
String secuenciaActividadTitulo;
String secuenciaActividadDescripcion;
String fechaRegistro;
int rubricaId;
String instrucciones;
String descripcion;
int calificacionId;
int calificacionNombre;
DetalleActividadCalificacion({
this.id,
this.proyectoId,
this.asignaturaId,
this.asignaturaColorPrimario,
this.asignaturaNombre,
this.proyectoTitulo,
this.secuenciaActividadId,
this.secuenciaActividadTitulo,
this.secuenciaActividadDescripcion,
this.fechaRegistro,
this.rubricaId,
this.instrucciones,
this.descripcion,
this.calificacionId,
this.calificacionNombre,
});
factory DetalleActividadCalificacion.fromJson(Map<String, dynamic> json) => DetalleActividadCalificacion(
id: json["id"],
proyectoId: json["proyectoId"],
asignaturaId: json["asignaturaId"],
asignaturaColorPrimario: json["asignaturaColorPrimario"],
asignaturaNombre: json["asignaturaNombre"],
proyectoTitulo: json["proyectoTitulo"],
secuenciaActividadId: json["secuenciaActividadId"],
secuenciaActividadTitulo: json["secuenciaActividadTitulo"],
secuenciaActividadDescripcion: json["secuenciaActividadDescripcion"],
fechaRegistro: json["fechaRegistro"],
rubricaId: json["rubricaId"],
instrucciones: json["instrucciones"],
descripcion: json["descripcion"],
calificacionId: json["calificacionId"],
calificacionNombre: json["calificacionNombre"],
);
Map<String, dynamic> toJson() => {
"id": id,
"proyectoId": proyectoId,
"asignaturaId": asignaturaId,
"asignaturaColorPrimario": asignaturaColorPrimario,
"asignaturaNombre": asignaturaNombre,
"proyectoTitulo": proyectoTitulo,
"secuenciaActividadId": secuenciaActividadId,
"secuenciaActividadTitulo": secuenciaActividadTitulo,
"secuenciaActividadDescripcion": secuenciaActividadDescripcion,
"fechaRegistro": fechaRegistro,
"rubricaId": rubricaId,
"instrucciones": instrucciones,
"descripcion": descripcion,
"calificacionId": calificacionId,
"calificacionNombre": calificacionNombre,
};
}
On a side note, I have plenty of these around my app and none of them have given me this issue.
I think this is the correct way to declare the Model.