diff --git a/Controllers/DataPendampingRwController.cs b/Controllers/DataPendampingRwController.cs
index cc840f8..46e74ed 100644
--- a/Controllers/DataPendampingRwController.cs
+++ b/Controllers/DataPendampingRwController.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
+using System.Linq;
namespace BpsRwApp.Controllers
{
@@ -13,296 +14,138 @@ namespace BpsRwApp.Controllers
[HttpGet]
public IActionResult TableRapot()
{
- var data = new[]
- {
- new {
- nama = "Risky Adi Putra",
- checklist = "
10
",
- berat_sampah = "10
",
- foto = "image 10",
- rumah_aktif_memilah = "0
",
- status = "Sangat Baik
",
- },
- new {
- nama = "Sulaiman",
- checklist = "11
",
- berat_sampah = "10
",
- foto = "image 889",
- rumah_aktif_memilah = "11
",
- status = "Baik
",
- },
- new {
- nama = "Siti Nurhaliza",
- checklist = "12
",
- berat_sampah = "10
",
- foto = "image 22",
- rumah_aktif_memilah = "0
",
- status = "Baik
",
- },
- new {
- nama = "Budi Santoso",
- checklist = "18
",
- berat_sampah = "1
",
- foto = "image 889",
- rumah_aktif_memilah = "11
",
- status = "Baik
",
- },
- new {
- nama = "Dewi Lestari",
- checklist = "1
",
- berat_sampah = "10
",
- foto = "image 22",
- rumah_aktif_memilah = "10
",
- status = "Baik
",
- },
- new {
- nama = "Andi Prabowo",
- checklist = "17
",
- berat_sampah = "11
",
- foto = "image 889",
- rumah_aktif_memilah = "11
",
- status = "Sangat Baik
",
- },
- new {
- nama = "Nina Sari",
- checklist = "15
",
- berat_sampah = "10
",
- foto = "image 22",
- rumah_aktif_memilah = "10
",
- status = "Sengat Baik
",
- },
- new {
- nama = "Hendra Wijaya",
- checklist = "1
",
- berat_sampah = "11
",
- foto = "image 889",
- rumah_aktif_memilah = "11
",
- status = "Sangat Baik
",
- },
- new {
- nama = "Lina Marlina",
- checklist = "12
",
- berat_sampah = "10
",
- foto = "image 22",
- rumah_aktif_memilah = "10
",
- status = "Sangat Baik
",
- },
- new {
- nama = "Yudi Hartono",
- checklist = "16
",
- berat_sampah = "11
",
- foto = "image 889",
- rumah_aktif_memilah = "11
",
- status = "Sangat Baik
",
- },
- };
+ var data = Enumerable.Range(0, 100)
+ .Select(index =>
+ {
+ var nama = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
+ var checklistCount = 8 + (index % 15);
+ var totalBeratSampah = 40 + (index * 3 % 70);
+ var fotoCount = 5 + (index * 4 % 250);
+ var rumahAktif = (index * 3) % 15;
- var response = new
- {
- data = data
- };
+ return new
+ {
+ nama,
+ checklist = BuildMetricBadge(checklistCount, 8, 12),
+ berat_sampah = BuildMetricBadge(totalBeratSampah, 50, 90),
+ foto = BuildFotoIndicator(fotoCount),
+ rumah_aktif_memilah = BuildMetricBadge(rumahAktif, 3, 9),
+ status = BuildStatusBadge(index),
+ };
+ })
+ .ToArray();
- return Json(response);
+ return Json(new { data });
}
[HttpGet]
public IActionResult TableChecklist()
{
- var data = new[]
- {
- new {
- nama = "Risky Adi Putra",
- checklist = "10
",
- foto = "image 10",
- rumah_aktif_memilah = "0/12
",
- aksi = "",
- },
- new {
- nama = "Sulaiman",
- checklist = "11
",
- foto = "image 889",
- rumah_aktif_memilah = "11/11
",
- aksi = "",
- },
- new {
- nama = "Siti Nurhaliza",
- checklist = "12
",
- foto = "image 22",
- rumah_aktif_memilah = "0/10
",
- aksi = "",
- },
- new {
- nama = "Budi Santoso",
- checklist = "18
",
- foto = "image 889",
- rumah_aktif_memilah = "11/11
",
- aksi = "",
- },
- new {
- nama = "Dewi Lestari",
- checklist = "1
",
- foto = "image 22",
- rumah_aktif_memilah = "10/10
",
- aksi = "",
- },
- new {
- nama = "Andi Prabowo",
- checklist = "17
",
- foto = "image 889",
- rumah_aktif_memilah = "11/11
",
- aksi = "",
- },
- new {
- nama = "Nina Sari",
- checklist = "15
",
- foto = "image 22",
- rumah_aktif_memilah = "10/10
",
- aksi = "",
- },
- new {
- nama = "Hendra Wijaya",
- checklist = "1
",
- foto = "image 889",
- rumah_aktif_memilah = "11/11
",
- aksi = "",
- },
- new {
- nama = "Lina Marlina",
- checklist = "12
",
- foto = "image 22",
- rumah_aktif_memilah = "10/10
",
- aksi = "",
- },
- new {
- nama = "Yudi Hartono",
- checklist = "16
",
- foto = "image 889",
- rumah_aktif_memilah = "11/11
",
- aksi = "",
- },
- };
+ var data = Enumerable.Range(0, 100)
+ .Select(index =>
+ {
+ var nama = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
+ var checklistCount = 9 + (index % 18);
+ var fotoCount = 3 + (index * 2 % 180);
+ var targetRumah = 8 + (index % 10);
+ var rumahAktif = targetRumah - (index % 5);
+ if (rumahAktif < 0)
+ {
+ rumahAktif = 0;
+ }
- var response = new
- {
- data = data
- };
+ return new
+ {
+ nama,
+ checklist = BuildMetricBadge(checklistCount, 10, 15),
+ foto = BuildFotoIndicator(fotoCount),
+ rumah_aktif_memilah = BuildRatioBadge(rumahAktif, targetRumah),
+ aksi = BuildDetailAction(),
+ };
+ })
+ .ToArray();
- return Json(response);
+ return Json(new { data });
}
[HttpGet]
public IActionResult TableBeratSampah()
{
- var data = new[]
- {
- new {
- nama = "Risky Adi Putra",
- total_berat = 104,
- mudah_terurai = 104,
- material_daur_ulang = 104,
- b3 = 104,
- residu = 104,
- },
- new {
- nama = "Sulaiman",
- total_berat = 67,
- mudah_terurai = 67,
- material_daur_ulang = 67,
- b3 = 67,
- residu = 67,
- },
- new {
- nama = "Siti Nurhaliza",
- total_berat = 110,
- mudah_terurai = 110,
- material_daur_ulang = 110,
- b3 = 110,
- residu = 110,
- },
- new {
- nama = "Budi Santoso",
- total_berat = 88,
- mudah_terurai = 88,
- material_daur_ulang = 88,
- b3 = 88,
- residu = 88,
- },
- new {
- nama = "Dewi Lestari",
- total_berat = 90,
- mudah_terurai = 90,
- material_daur_ulang = 90,
- b3 = 90,
- residu = 90,
- },
- new {
- nama = "Andi Prabowo",
- total_berat = 72,
- mudah_terurai = 72,
- material_daur_ulang = 72,
- b3 = 72,
- residu = 72,
- },
- new {
- nama = "Nina Sari",
- total_berat = 81,
- mudah_terurai = 81,
- material_daur_ulang = 81,
- b3 = 81,
- residu = 81,
- },
- new {
- nama = "Hendra Wijaya",
- total_berat = 65,
- mudah_terurai = 65,
- material_daur_ulang = 65,
- b3 = 65,
- residu = 65,
- },
- new {
- nama = "Lina Marlina",
- total_berat = 78,
- mudah_terurai = 78,
- material_daur_ulang = 78,
- b3 = 78,
- residu = 78,
- },
- new {
- nama = "Yudi Hartono",
- total_berat = 95,
- mudah_terurai = 95,
- material_daur_ulang = 95,
- b3 = 95,
- residu = 95,
- },
- };
+ var data = Enumerable.Range(0, 100)
+ .Select(index =>
+ {
+ var nama = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
+ var mudahTerurai = 40 + (index * 2 % 80);
+ var materialDaurUlang = 25 + (index * 3 % 60);
+ var b3 = 5 + index % 7;
+ var residu = 10 + index % 9;
+ var totalBerat = mudahTerurai + materialDaurUlang + b3 + residu;
- var response = new
- {
- data = data
- };
+ return new
+ {
+ nama,
+ total_berat = totalBerat,
+ mudah_terurai = mudahTerurai,
+ material_daur_ulang = materialDaurUlang,
+ b3,
+ residu,
+ };
+ })
+ .ToArray();
- return Json(response);
+ return Json(new { data });
}
+
+ private static string BuildMetricBadge(int value, int warningThreshold, int successThreshold)
+ {
+ string tone;
+ if (value <= 0)
+ {
+ tone = "error";
+ }
+ else if (value < warningThreshold)
+ {
+ tone = "warning";
+ }
+ else if (value < successThreshold)
+ {
+ tone = "info";
+ }
+ else
+ {
+ tone = "success";
+ }
+
+ return BuildBadge(value.ToString(), tone);
+ }
+
+ private static string BuildRatioBadge(int achieved, int target)
+ {
+ var tone = achieved <= 0 ? "error" : achieved < target ? "warning" : "success";
+ return BuildBadge($"{achieved}/{target}", tone);
+ }
+
+ private static string BuildBadge(string label, string tone) =>
+ $"{label}
";
+
+ private static string BuildFotoIndicator(int totalFoto) =>
+ "image " + totalFoto;
+
+ private static string BuildStatusBadge(int index)
+ {
+ var status = (index % 3) switch
+ {
+ 0 => ("Sangat Baik", "info"),
+ 1 => ("Baik", "success"),
+ _ => ("Perlu Pendampingan", "warning")
+ };
+
+ return $"{status.Item1}
";
+ }
+
+ private static string BuildDetailAction() =>
+ "";
}
}
diff --git a/Controllers/ProfilRwController.cs b/Controllers/ProfilRwController.cs
index d2d1a3a..0f4b512 100644
--- a/Controllers/ProfilRwController.cs
+++ b/Controllers/ProfilRwController.cs
@@ -1,106 +1,67 @@
using BpsRwApp.Models.ProfilRw;
using Microsoft.AspNetCore.Mvc;
-using System.Collections.Generic;
-using System.Linq;
namespace BpsRwApp.Controllers
{
public class ProfilRwController : AppControllerBase
{
- private static readonly List SampleAlatPengumpul = new()
+ private static readonly string[][] JadwalCombinations =
{
- new AlatPengumpulSampahViewModel
- {
- Id = 1,
- Kelurahan = "Kelurahan Cililitan",
- Rw = "005",
- Rt = "003",
- GerobakDorong = 1,
- GerobakMotor = 2,
- MobilPickup = 1,
- Truk = 1,
- Dustbin = 4,
- Container = 1,
- Landasan = 2,
- JenisPetugas = "Petugas Harian Lepas",
- NamaPetugas = "Taufik Hidayat",
- Jadwal = new List { "Senin", "Rabu", "Jumat" },
- TpsTujuan = "TPS Jakarta Timur"
- },
- new AlatPengumpulSampahViewModel
- {
- Id = 2,
- Kelurahan = "Kelurahan Rawamangun",
- Rw = "004",
- Rt = "002",
- GerobakDorong = 2,
- GerobakMotor = 3,
- MobilPickup = 1,
- Truk = 0,
- Dustbin = 3,
- Container = 1,
- Landasan = 1,
- JenisPetugas = "DLH",
- NamaPetugas = "Bambang Wijaya",
- Jadwal = new List { "Selasa", "Kamis", "Sabtu" },
- TpsTujuan = "TPS Cililitan"
- },
- new AlatPengumpulSampahViewModel
- {
- Id = 3,
- Kelurahan = "Kelurahan Duren Sawit",
- Rw = "003",
- Rt = "005",
- GerobakDorong = 1,
- GerobakMotor = 1,
- MobilPickup = 0,
- Truk = 1,
- Dustbin = 5,
- Container = 2,
- Landasan = 2,
- JenisPetugas = "Swadaya Warga",
- NamaPetugas = "Rini Setiawan",
- Jadwal = new List { "Senin", "Rabu", "Jumat" },
- TpsTujuan = "TPS Duren Sawit"
- },
- new AlatPengumpulSampahViewModel
- {
- Id = 4,
- Kelurahan = "Kelurahan Balekambang",
- Rw = "002",
- Rt = "001",
- GerobakDorong = 2,
- GerobakMotor = 1,
- MobilPickup = 1,
- Truk = 1,
- Dustbin = 2,
- Container = 1,
- Landasan = 1,
- JenisPetugas = "Kader Lingkungan",
- NamaPetugas = "Eko Nugroho",
- Jadwal = new List { "Selasa", "Kamis" },
- TpsTujuan = "TPS Kampung Melayu"
- },
- new AlatPengumpulSampahViewModel
- {
- Id = 5,
- Kelurahan = "Kelurahan Pondok Bambu",
- Rw = "001",
- Rt = "007",
- GerobakDorong = 3,
- GerobakMotor = 2,
- MobilPickup = 2,
- Truk = 1,
- Dustbin = 6,
- Container = 2,
- Landasan = 3,
- JenisPetugas = "Petugas Harian Lepas",
- NamaPetugas = "Ratna Sari",
- Jadwal = new List { "Rabu", "Jumat", "Minggu" },
- TpsTujuan = "TPS Pondok Bambu"
- }
+ new[] { "Senin", "Rabu", "Jumat" },
+ new[] { "Selasa", "Kamis" },
+ new[] { "Sabtu", "Minggu" },
+ new[] { "Senin", "Selasa", "Kamis" },
+ new[] { "Rabu", "Jumat" }
};
+ private static readonly string[] JenisPetugasOptions =
+ {
+ "Petugas Harian Lepas",
+ "DLH",
+ "Swadaya Warga",
+ "Kader Lingkungan",
+ "Relawan"
+ };
+
+ private static readonly string[] TpsOptions =
+ {
+ "TPS Jakarta Timur",
+ "TPS Cililitan",
+ "TPS Duren Sawit",
+ "TPS Kampung Melayu",
+ "TPS Pondok Bambu",
+ "TPS Pulogadung"
+ };
+
+ private static readonly List SampleAlatPengumpul =
+ Enumerable.Range(1, 100)
+ .Select(index =>
+ {
+ var wilayah = ControllerSampleData.WilayahSeeds[index % ControllerSampleData.WilayahSeeds.Length];
+ var namaPetugas = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
+ var jadwal = JadwalCombinations[index % JadwalCombinations.Length];
+
+ return new AlatPengumpulSampahViewModel
+ {
+ Id = index,
+ Kelurahan = $"Kelurahan {wilayah.Kelurahan}",
+ Rw = ((index % 15) + 1).ToString("D3"),
+ Rt = ((index % 20) + 1).ToString("D3"),
+ GerobakDorong = 1 + (index % 4),
+ GerobakMotor = 1 + (index % 3),
+ MobilPickup = index % 2,
+ Truk = index % 3 == 0 ? 1 : 0,
+ Dustbin = 4 + (index % 5),
+ Container = 1 + (index % 2),
+ Landasan = 1 + (index % 3),
+ JenisPetugas = JenisPetugasOptions[index % JenisPetugasOptions.Length],
+ NamaPetugas = namaPetugas,
+ Jadwal = jadwal.ToList(),
+ TpsTujuan = TpsOptions[index % TpsOptions.Length]
+ };
+ })
+ .ToList();
+
public IActionResult Index()
{
return View();
@@ -109,411 +70,141 @@ namespace BpsRwApp.Controllers
[HttpGet]
public IActionResult TableLokasi()
{
- var data = new[]
- {
- new {
- usulan = "Lokasi G",
- alamat = "Perumahan Mawar Indah",
- statusLahan = "Inventaris",
- pemilikLahan = "Larasati Wulandari",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi I",
- alamat = "Jl. Bougenville, RT 02",
- statusLahan = "Inventaris",
- pemilikLahan = "Arya Dwipangga",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi F",
- alamat = "Lingk. Edelweiss, No. 7",
- statusLahan = "Inventaris",
- pemilikLahan = "Kirana Lazuardi",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi C",
- alamat = "Jl. Anggrek No. 14",
- statusLahan = "Inventaris",
- pemilikLahan = "Bagas Priambodo",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi B",
- alamat = "Jl. Tulip, Kel. Gardenia",
- statusLahan = "Inventaris",
- pemilikLahan = "Raisa Adiwangsa",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi E",
- alamat = "Jl. Lavender, RT 09",
- statusLahan = "Inventaris",
- pemilikLahan = "Satria Gunawan",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi A",
- alamat = "Komp. Melati, No. 22",
- statusLahan = "Inventaris",
- pemilikLahan = "Kartika Hastuti",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi D",
- alamat = "Gg. Dahlia, RT 05",
- statusLahan = "Inventaris",
- pemilikLahan = "Bayu Anggoro",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi H",
- alamat = "Ds. Cempaka, Kab. Anyer",
- statusLahan = "Inventaris",
- pemilikLahan = "Citra Kirani",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- new {
- usulan = "Lokasi J",
- alamat = "Jl. Kenanga, Blok C",
- statusLahan = "Inventaris",
- pemilikLahan = "Galih Prasetya",
- luasLahan = 500,
- statusUsulan = "Aktif"
- },
- };
+ var data = Enumerable.Range(0, 100)
+ .Select(index =>
+ {
+ var wilayah = ControllerSampleData.WilayahSeeds[index % ControllerSampleData.WilayahSeeds.Length];
+ var street = ControllerSampleData.StreetNames[index % ControllerSampleData.StreetNames.Length];
+ var pemilik = ControllerSampleData.PersonNames[(index + 3) % ControllerSampleData.PersonNames.Length];
+ var luas = 300 + (index * 11 % 900);
+ var statusLahan = (index % 3) switch
+ {
+ 0 => "Inventaris",
+ 1 => "Sewa",
+ _ => "Milik Warga"
+ };
- var response = new
- {
- data = data
- };
+ return new
+ {
+ id = index + 1,
+ usulan = $"Lokasi {index + 1:000}",
+ alamat = ControllerSampleData.FormatAlamat(wilayah, street, 5 + index),
+ statusLahan,
+ pemilikLahan = pemilik,
+ luasLahan = $"{luas} m²",
+ statusUsulan = BuildLokasiStatusBadge(index),
+ aksi = BuildLokasiActionButtons(index + 1)
+ };
+ })
+ .ToArray();
- return Json(response);
+ return Json(new { data });
}
[HttpGet]
public IActionResult TableSuratUsulan()
{
- var data = new[]
+ var namaSuratTemplates = new[]
{
- new {
- nama_surat = "Surat Permohonan Perbaikan Jalan Lingkungan",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 7, 11)),
- file_upload = "Surat Pengantar Proposal",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Rekomendasi untuk Pengajuan Kredit UMKM",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 1, 9)),
- file_upload = "Surat Undangan Rapat Warga",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Pernyataan Persetujuan Pembangunan Pos Kamling",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 21)),
- file_upload = "Surat Pemberitahuan Gotong Royong",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Keterangan Tidak Mampu untuk Berobat",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 2, 17)),
- file_upload = "Surat Keputusan Ketua RW",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Laporan Keuangan RW Triwulan II 2023",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 8, 18)),
- file_upload = "Surat Edaran Kebersihan",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Keputusan RW tentang Jadwal Ronda Malam",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 5, 14)),
- file_upload = "Surat Rekomendasi Usaha",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Pemberitahuan Kerja Bakti Rutin",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 6, 2)),
- file_upload = "Laporan Kegiatan RW",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Edaran tentang Pembayaran Iuran Sampah",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 6, 22)),
- file_upload = "Surat Keterangan Domisili",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Pengantar untuk Pembuatan KTP",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 3, 1)),
- file_upload = "Surat Permohonan Bantuan Dana",
- status = "Aktif
",
- aksi = ""
- },
- new {
- nama_surat = "Surat Undangan Pertemuan Rutin PKK",
- tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 28)),
- file_upload = "Surat Pernyataan Kesanggupan",
- status = "Aktif
",
- aksi = ""
- },
+ "Surat Permohonan Perbaikan Jalan Lingkungan",
+ "Surat Rekomendasi Pengajuan Kredit UMKM",
+ "Surat Pernyataan Persetujuan Pembangunan Pos Kamling",
+ "Surat Keterangan Tidak Mampu untuk Berobat",
+ "Laporan Keuangan RW Triwulan",
+ "Surat Keputusan Jadwal Ronda Malam",
+ "Surat Pemberitahuan Kerja Bakti Rutin",
+ "Surat Edaran Pembayaran Iuran Sampah",
+ "Surat Pengantar Pembuatan KTP",
+ "Surat Undangan Pertemuan PKK"
};
- var response = new
+ var fileTemplates = new[]
{
- data = data
+ "Surat Pengantar Proposal",
+ "Surat Undangan Rapat Warga",
+ "Surat Pemberitahuan Gotong Royong",
+ "Surat Keputusan Ketua RW",
+ "Surat Edaran Kebersihan",
+ "Surat Rekomendasi Usaha",
+ "Laporan Kegiatan RW",
+ "Surat Keterangan Domisili",
+ "Surat Permohonan Bantuan Dana",
+ "Surat Pernyataan Kesanggupan"
};
- return Json(response);
+ var startDate = new DateTime(2023, 1, 1);
+
+ var data = Enumerable.Range(0, 100)
+ .Select(index =>
+ {
+ var namaSurat = namaSuratTemplates[index % namaSuratTemplates.Length];
+ var fileUpload = fileTemplates[(index + 3) % fileTemplates.Length];
+ var status = (index % 5) switch
+ {
+ 0 => BuildStatusPill("Menunggu", "warning"),
+ 1 => BuildStatusPill("Ditinjau", "info"),
+ _ => BuildStatusPill("Aktif", "success")
+ };
+
+ return new
+ {
+ id = index + 1,
+ nama_surat = namaSurat,
+ tanggal_surat = ControllerSampleData.FormatTanggal(startDate.AddDays(index * 2)),
+ file_upload = fileUpload,
+ status,
+ aksi = BuildCrudActionButtons(index + 1)
+ };
+ })
+ .ToArray();
+
+ return Json(new { data });
}
[HttpGet]
public IActionResult TablePengadaanWadah()
{
- var data = new[]
- {
- new {
- rt = "001",
- jumlah_kepala_keluarga = "11",
- total_wadah_unit = "07",
- status = "Aktif
",
- },
- new {
- rt = "002",
- jumlah_kepala_keluarga = "09",
- total_wadah_unit = "01",
- status = "Aktif
",
- },
- new {
- rt = "003",
- jumlah_kepala_keluarga = "21",
- total_wadah_unit = "04",
- status = "Aktif
",
- },
- new {
- rt = "004",
- jumlah_kepala_keluarga = "17",
- total_wadah_unit = "02",
- status = "Aktif
",
- },
- new {
- rt = "005",
- jumlah_kepala_keluarga = "18",
- total_wadah_unit = "08",
- status = "Aktif
",
- },
- new {
- rt = "006",
- jumlah_kepala_keluarga = "14",
- total_wadah_unit = "05",
- status = "Aktif
",
- },
- new {
- rt = "007",
- jumlah_kepala_keluarga = "02",
- total_wadah_unit = "06",
- status = "Aktif
",
- },
- new {
- rt = "008",
- jumlah_kepala_keluarga = "22",
- total_wadah_unit = "06",
- status = "Aktif
",
- },
- new {
- rt = "009",
- jumlah_kepala_keluarga = "01",
- total_wadah_unit = "03",
- status = "Aktif
",
- },
- new {
- rt = "010",
- jumlah_kepala_keluarga = "28",
- total_wadah_unit = "04",
- status = "Aktif
",
- },
- };
+ var data = Enumerable.Range(0, 100)
+ .Select(index =>
+ {
+ var jumlahKk = 40 + (index * 5 % 200);
+ var totalWadah = 4 + (index % 12);
+ var status = index % 7 == 0
+ ? BuildStatusPill("Menunggu", "warning")
+ : BuildStatusPill("Aktif", "success");
- var response = new
- {
- data = data
- };
+ return new
+ {
+ rt = ((index % 25) + 1).ToString("D3"),
+ jumlah_kepala_keluarga = jumlahKk.ToString("D2"),
+ total_wadah_unit = totalWadah.ToString("D2"),
+ status
+ };
+ })
+ .ToArray();
- return Json(response);
+ return Json(new { data });
}
-
[HttpGet]
public IActionResult TableKebutuhanSarpras()
{
- var data = new[]
- {
- new {
- rt = "001",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 11)),
- jumlah_unit = "507",
- aksi = ""
- },
- new {
- rt = "002",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 9)),
- jumlah_unit = "501",
- aksi = ""
- },
- new {
- rt = "003",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 21)),
- jumlah_unit = "504",
- aksi = ""
- },
- new {
- rt = "004",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 17)),
- jumlah_unit = "502",
- aksi = ""
- },
- new {
- rt = "005",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 18)),
- jumlah_unit = "508",
- aksi = ""
- },
- new {
- rt = "006",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 14)),
- jumlah_unit = "505",
- aksi = ""
- },
- new {
- rt = "007",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 2)),
- jumlah_unit = "506",
- aksi = ""
- },
- new {
- rt = "008",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 22)),
- jumlah_unit = "506",
- aksi = ""
- },
- new {
- rt = "009",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 1)),
- jumlah_unit = "503",
- aksi = ""
- },
- new {
- rt = "010",
- tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 28)),
- jumlah_unit = "504",
- aksi = ""
- },
- };
+ var startDate = new DateTime(2023, 4, 1);
- var response = new
- {
- data = data
- };
+ var data = Enumerable.Range(0, 100)
+ .Select(index =>
+ {
+ var jumlahUnit = 480 + (index * 7 % 120);
+ return new
+ {
+ rt = ((index % 40) + 1).ToString("D3"),
+ tanggal = ControllerSampleData.FormatTanggal(startDate.AddDays(index)),
+ jumlah_unit = jumlahUnit.ToString(),
+ aksi = BuildCrudActionButtons(index + 1)
+ };
+ })
+ .ToArray();
- return Json(response);
+ return Json(new { data });
}
[HttpGet]
@@ -590,6 +281,31 @@ namespace BpsRwApp.Controllers
return Json(new { data });
}
+ private static string BuildLokasiStatusBadge(int index)
+ {
+ var statuses = new[]
+ {
+ ("Aktif", "success"),
+ ("Dalam Review", "warning"),
+ ("Tidak Aktif", "error")
+ };
+
+ var status = statuses[index % statuses.Length];
+ return $"{status.Item1} ";
+ }
+
+ private static string BuildLokasiActionButtons(int id) => BuildCrudActionButtons(id);
+
+ private static string BuildStatusPill(string label, string tone) =>
+ $"{label}
";
+
+ private static string BuildCrudActionButtons(int id) =>
+ "" +
+ $"Detail " +
+ $"Edit " +
+ $"Delete " +
+ "
";
+
[HttpGet]
public IActionResult DetailAlatPengumpulSampah(int id)
{
diff --git a/Views/ProfilRw/Index.cshtml b/Views/ProfilRw/Index.cshtml
index b57cdbd..32e02a4 100644
--- a/Views/ProfilRw/Index.cshtml
+++ b/Views/ProfilRw/Index.cshtml
@@ -82,21 +82,8 @@
{ data: 'statusLahan' },
{ data: 'pemilikLahan' },
{ data: 'luasLahan' },
- {
- data: 'statusUsulan',
- render: (data) => `${data} `
- },
- {
- data: null,
- className: "text-center",
- render: (data, type, row) => `` +
- `Detail ` +
- `Edit ` +
- `Delete ` +
- `
`,
- orderable: false,
- searchable: false
- }
+ { data: 'statusUsulan', className: "text-center", orderable: false, searchable: false },
+ { data: 'aksi', className: "text-center", orderable: false, searchable: false }
]
});