updateSawMatrix method
UPDATE SAW MATRIX
Implementation
Future<List<SawMatrix>> updateSawMatrix({
required List<SawMatrix> currentMatrix,
required String? matrixId,
required String? ratingsId,
required num value,
}) async {
var updatedList = List<SawMatrix>.from(currentMatrix);
final matrixIndex = updatedList.indexWhere((m) => m.id == matrixId);
if (matrixIndex == -1) {
throw Exception("Matrix not found!");
}
final matrix = updatedList[matrixIndex];
final ratingIndex = matrix.ratings.indexWhere((r) => r.id == ratingsId);
if (ratingIndex == -1) {
throw Exception("Rating not found!");
}
var updatedRatings = List<SawRating>.from(matrix.ratings);
updatedRatings[ratingIndex] =
updatedRatings[ratingIndex].copyWith(value: value);
updatedList[matrixIndex] = matrix.copyWith(ratings: updatedRatings);
return updatedList;
}