Files
penyaluran_app/lib/app/data/models/pengajuan_kelayakan_bantuan_model.dart
Khafidh Fuadi 0e757c0b94 Perbarui status dan model penyaluran untuk konsistensi dan fungsionalitas
- Ganti enum StatusKelayakan dari 'pending', 'disetujui', 'ditolak' menjadi 'MENUNGGU', 'TERVERIFIKASI', 'DITOLAK'
- Ubah referensi 'jadwalSelesai' menjadi 'jadwalTerlaksana' di beberapa komponen
- Perbarui ikon dan warna status di JadwalSectionWidget
- Tambahkan logika baru untuk menangani status 'BATALTERLAKSANA' dan 'TERLAKSANA' di JadwalPenyaluranController
- Modifikasi tampilan untuk menampilkan 'Terlaksana' dan 'Jumlah Penerima' secara otomatis di TambahPenyaluranView
- Tambahkan fungsi untuk memuat data skema bantuan dan pengajuan kelayakan yang disetujui
2025-03-14 23:17:02 +07:00

61 lines
1.8 KiB
Dart

import 'dart:convert';
enum StatusKelayakan { MENUNGGU, TERVERIFIKASI, DITOLAK }
class PengajuanKelayakanBantuanModel {
final String? id;
final String? buktiKelayakan;
final String? alasanVerifikasi;
final DateTime? createdAt;
final DateTime? updatedAt;
final String? skemaBantuanId;
final String? wargaId;
final StatusKelayakan? status;
PengajuanKelayakanBantuanModel({
this.id,
this.buktiKelayakan,
this.alasanVerifikasi,
this.createdAt,
this.updatedAt,
this.skemaBantuanId,
this.wargaId,
this.status,
});
factory PengajuanKelayakanBantuanModel.fromRawJson(String str) =>
PengajuanKelayakanBantuanModel.fromJson(json.decode(str));
String toRawJson() => json.encode(toJson());
factory PengajuanKelayakanBantuanModel.fromJson(Map<String, dynamic> json) =>
PengajuanKelayakanBantuanModel(
id: json["id"],
buktiKelayakan: json["bukti_kelayakan"],
alasanVerifikasi: json["alasan_verifikasi"],
createdAt: json["created_at"] != null
? DateTime.parse(json["created_at"])
: null,
updatedAt: json["updated_at"] != null
? DateTime.parse(json["updated_at"])
: null,
skemaBantuanId: json["skema_bantuan_id"],
wargaId: json["warga_id"],
status: json["status"] != null
? StatusKelayakan.values.firstWhere(
(e) => e.toString() == 'StatusKelayakan.${json["status"]}')
: null,
);
Map<String, dynamic> toJson() => {
"id": id,
"bukti_kelayakan": buktiKelayakan,
"alasan_verifikasi": alasanVerifikasi,
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
"skema_bantuan_id": skemaBantuanId,
"warga_id": wargaId,
"status": status?.toString().split('.').last,
};
}