Files
finger_print_app/lib/services/request_service.dart
Daniah Ayad Al-sultani dbf76b2d30 chnages was made
2025-12-07 12:01:23 +03:00

57 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
import '../models/leave_request.dart';
import '../models/advance_request.dart';
class RequestService {
static final RequestService _instance = RequestService._internal();
factory RequestService() => _instance;
RequestService._internal();
final List<LeaveRequest> _leaveRequests = [];
final List<AdvanceRequest> _advanceRequests = [];
List<LeaveRequest> get leaveRequests => List.unmodifiable(_leaveRequests);
List<AdvanceRequest> get advanceRequests => List.unmodifiable(_advanceRequests);
Future<void> addLeaveRequest(LeaveRequest request) async {
_leaveRequests.add(request);
// In a real app, you would save this to a database or API
}
Future<void> addAdvanceRequest(AdvanceRequest request) async {
_advanceRequests.add(request);
// In a real app, you would save this to a database or API
}
Future<void> updateLeaveRequestStatus(String id, String status) async {
final index = _leaveRequests.indexWhere((request) => request.id == id);
if (index != -1) {
final updatedRequest = LeaveRequest(
id: _leaveRequests[index].id,
leaveType: _leaveRequests[index].leaveType,
isTimedLeave: _leaveRequests[index].isTimedLeave,
fromDate: _leaveRequests[index].fromDate,
toDate: _leaveRequests[index].toDate,
fromTime: _leaveRequests[index].fromTime,
toTime: _leaveRequests[index].toTime,
reason: _leaveRequests[index].reason,
requestDate: _leaveRequests[index].requestDate,
status: status,
);
_leaveRequests[index] = updatedRequest;
}
}
Future<void> updateAdvanceRequestStatus(String id, String status) async {
final index = _advanceRequests.indexWhere((request) => request.id == id);
if (index != -1) {
final updatedRequest = AdvanceRequest(
id: _advanceRequests[index].id,
amount: _advanceRequests[index].amount,
reason: _advanceRequests[index].reason,
status: status,
);
_advanceRequests[index] = updatedRequest;
}
}
}