using Microsoft.AspNetCore.Mvc; namespace BpsRwApp.Controllers { [Route("[controller]/[action]")] public class DataVerifikasiChecklistHarianController : AppControllerBase { public IActionResult Index() { return View(); } [HttpGet] public IActionResult Table() { var startDate = new DateTime(2024, 2, 1); var data = Enumerable.Range(0, 100) .Select(index => { var wilayah = ControllerSampleData.WilayahSeeds[index % ControllerSampleData.WilayahSeeds.Length]; var tanggal = startDate.AddDays(index * 3); var tanggalStr = ControllerSampleData.FormatTanggal(tanggal); var target = 12; var mudahTerurai = 8 + (index % 5); var mudahDaur = 7 + (index % 4); var b3 = 3 + (index % 3); var residu = target - Math.Min(target, mudahTerurai); var fotoCount = 5 + (index % 10); return new { tanggal = tanggalStr, kelurahan = wilayah.Kelurahan, rw = ((index % 15) + 1).ToString("D2"), mudah_terurai = $"{mudahTerurai}/{target}", mudah_daur = $"{mudahDaur}/{target}", b3 = $"{b3}/{target}", residu = $"{residu}/{target}", jumlah_foto = "" + fotoCount, aksi = $"
" + $"Detail" + "
", }; }) .ToArray(); var response = new { data = data }; return Json(response); } [HttpGet] public IActionResult Detail(string tanggal, string kelurahan, string rw) { if (string.IsNullOrEmpty(tanggal)) return RedirectToAction("Index"); ViewBag.Tanggal = tanggal; ViewBag.Kelurahan = kelurahan; ViewBag.RW = rw; return View(); } [HttpGet] public IActionResult DetailTable(string tanggal, string kelurahan, string rw) { var data = Enumerable.Range(1, 10) .Select(i => new { no = i, alamat_rumah = $"Pulau Lancang RT.01/RW.01 - ({GetRandomName(i)})", rw = rw, mudah_terurai = true, material_daur = true, b3 = false, residu = true, photo = "" }) .ToList(); return Json(new { data }); } private string GetRandomName(int index) { var names = new[] { "Hernalin", "Supriyadi", "Rohili", "Wahyudi", "Eva Ratna Ayu", "Riski Cahyadi", "Sembari", "Sandi Setiawan" }; return names[index % names.Length]; } } }