You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.4 KiB
Dart
40 lines
1.4 KiB
Dart
3 years ago
|
import 'package:flutter/foundation.dart';
|
||
|
import 'package:flutter/material.dart';
|
||
|
import 'package:mohem_flutter_app/api/dashboard_api_client.dart';
|
||
|
import 'package:mohem_flutter_app/classes/utils.dart';
|
||
|
import 'package:mohem_flutter_app/main.dart';
|
||
|
import 'package:mohem_flutter_app/models/dashboard/get_attendance_tracking_list_model.dart';
|
||
|
|
||
|
/// Mix-in [DiagnosticableTreeMixin] to have access to [debugFillProperties] for the devtool
|
||
|
// ignore: prefer_mixin
|
||
|
class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
|
||
|
bool isAttendanceTrackingLoading = true;
|
||
|
int isTimeRemainingInSeconds = 0;
|
||
|
GetAttendanceTracking? attendanceTracking;
|
||
|
|
||
|
fetchAttendanceTracking() async {
|
||
|
try {
|
||
|
attendanceTracking = await DashbaordApiClient().getAttendanceTracking();
|
||
|
isAttendanceTrackingLoading = false;
|
||
|
isTimeRemainingInSeconds = calculateSeconds("00:00:30");
|
||
|
notifyListeners();
|
||
|
} catch (ex) {
|
||
|
Utils.handleException(ex, null);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int calculateSeconds(String time) {
|
||
|
int hour = int.parse(time.split(":")[0]);
|
||
|
int mints = int.parse(time.split(":")[1]);
|
||
|
int seconds = int.parse(time.split(":")[2]);
|
||
|
return ((hour * 60 * 60) + (mints * 60) + seconds);
|
||
|
}
|
||
|
|
||
|
update() {
|
||
|
isAttendanceTrackingLoading = !isAttendanceTrackingLoading;
|
||
|
attendanceTracking?.pSwipeIn = "a";
|
||
|
isTimeRemainingInSeconds = calculateSeconds("00:00:30");
|
||
|
notifyListeners();
|
||
|
}
|
||
|
}
|