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 _leaveRequests = []; final List _advanceRequests = []; List get leaveRequests => List.unmodifiable(_leaveRequests); List get advanceRequests => List.unmodifiable(_advanceRequests); Future addLeaveRequest(LeaveRequest request) async { _leaveRequests.add(request); // In a real app, you would save this to a database or API } Future addAdvanceRequest(AdvanceRequest request) async { _advanceRequests.add(request); // In a real app, you would save this to a database or API } Future 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 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; } } }