Initial commit
This commit is contained in:
59
app_code/lib/presenters/coupon_presenter.dart
Normal file
59
app_code/lib/presenters/coupon_presenter.dart
Normal file
@@ -0,0 +1,59 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_countdown_timer/countdown_timer_controller.dart';
|
||||
import 'package:grostore/apis/coupons_api.dart';
|
||||
import 'package:grostore/apis/order_api.dart';
|
||||
import 'package:grostore/app_lang.dart';
|
||||
import 'package:grostore/models/coupon_response.dart';
|
||||
import 'package:grostore/models/order/orders_response.dart';
|
||||
|
||||
class CouponPresenter extends ChangeNotifier {
|
||||
static BuildContext? context;
|
||||
List<CountdownTimerController> controller=[];
|
||||
setContext(BuildContext context) {
|
||||
CouponPresenter.context = context;
|
||||
}
|
||||
|
||||
List<CouponInfo> coupons = [];
|
||||
bool isCouponsInit = false;
|
||||
|
||||
DateTime convertTimeStampToDateTime(int timeStamp) {
|
||||
var dateToTimeStamp = DateTime.fromMillisecondsSinceEpoch(timeStamp * 1000);
|
||||
return dateToTimeStamp;
|
||||
}
|
||||
|
||||
|
||||
getCoupons() async {
|
||||
var response = await CouponsApi.getCoupons();
|
||||
if (response.statusCode == 200) {
|
||||
coupons.addAll(response.object.data);
|
||||
isCouponsInit=true;
|
||||
coupons.forEach((element) {
|
||||
|
||||
DateTime end = convertTimeStampToDateTime(
|
||||
int.parse(element.endDate)); // YYYY-mm-dd
|
||||
DateTime now = DateTime.now();
|
||||
int diff = end.difference(now).inMilliseconds;
|
||||
int endTime = diff + now.millisecondsSinceEpoch;
|
||||
|
||||
|
||||
print(element.endDate);
|
||||
controller.add( CountdownTimerController(endTime:endTime , onEnd: (){}));
|
||||
});
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
fetchAll() {
|
||||
getCoupons();
|
||||
}
|
||||
|
||||
clearAll() {
|
||||
isCouponsInit=false;
|
||||
coupons.clear();
|
||||
}
|
||||
|
||||
initState() {
|
||||
clearAll();
|
||||
fetchAll();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user