updateSawMatrix method
Future<List<WeightedDecisionMatrix> >
updateSawMatrix({
- required List<
WeightedDecisionMatrix> currentMatrix, - required String? matrixId,
- required String? ratingsId,
- required double value,
UPDATE SAW MATRIX
Implementation
Future<List<WeightedDecisionMatrix>> updateSawMatrix({
required List<WeightedDecisionMatrix> currentMatrix,
required String? matrixId,
required String? ratingsId,
required double value,
}) async {
var updatedList = List<WeightedDecisionMatrix>.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<WeightedDecisionRating>.from(matrix.ratings);
updatedRatings[ratingIndex] =
updatedRatings[ratingIndex].copyWith(value: value);
updatedList[matrixIndex] = matrix.copyWith(ratings: updatedRatings);
return updatedList;
}