Initial commit: Penyerahan final Source code Tugas Akhir
This commit is contained in:
52
lib/providers/counter_qna_like_provider.dart
Normal file
52
lib/providers/counter_qna_like_provider.dart
Normal file
@ -0,0 +1,52 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:initial_folder/models/counter_qna_like_model.dart';
|
||||
import 'package:initial_folder/services/qna_service.dart';
|
||||
|
||||
enum ResultState { loading, noData, hasData, error }
|
||||
enum ResultStateLike { loading, error }
|
||||
|
||||
class CounterQnaLikeProvider with ChangeNotifier {
|
||||
final String idQna;
|
||||
|
||||
CounterQnaLikeProvider({required this.idQna}) {
|
||||
getLikeComment(idQna);
|
||||
}
|
||||
String _message = '';
|
||||
String get message => _message;
|
||||
ResultState? _state;
|
||||
ResultState? get state => _state;
|
||||
CounterLikeModel? _counterLikeModel;
|
||||
CounterLikeModel? get result => _counterLikeModel;
|
||||
set counterComment(CounterLikeModel? counterLikeModel) {
|
||||
_counterLikeModel = counterLikeModel;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
//Get Counter Like QNA
|
||||
Future<dynamic> getLikeComment(String idQna) async {
|
||||
try {
|
||||
_state = ResultState.loading;
|
||||
notifyListeners();
|
||||
CounterLikeModel counterLikeModel =
|
||||
await QnaService().getCounterLike(idQna);
|
||||
// print("Ini Cunter : ${counterLikeModel.data}");
|
||||
// ignore: unnecessary_null_comparison
|
||||
if (counterLikeModel.data != null) {
|
||||
print("ADA DATA");
|
||||
_state = ResultState.hasData;
|
||||
notifyListeners();
|
||||
return _counterLikeModel = counterLikeModel;
|
||||
} else {
|
||||
print("TIDAK ADA DATA");
|
||||
_state = ResultState.noData;
|
||||
notifyListeners();
|
||||
return _message = 'Tidak ada Data';
|
||||
}
|
||||
} catch (e) {
|
||||
_state = ResultState.error;
|
||||
print(e);
|
||||
notifyListeners();
|
||||
return _message = 'Error --> $e';
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user