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.
mohemm-flutter-app/lib/provider/dashboard_provider_model.dart

40 lines
1.4 KiB
Dart

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();
}
}