bps-rw/Controllers/DataVerifikasiChecklistHari...

96 lines
3.5 KiB
C#

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 = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>" + fotoCount,
aksi = $"<div class=\"flex gap-2\">" +
$"<a href='/DataVerifikasiChecklistHarian/Detail?tanggal={tanggal:yyyy-MM-dd}&kelurahan={wilayah.Kelurahan}&rw={((index % 15) + 1):D2}' class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
"</div>",
};
})
.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 = "<button class=\"btn bg-white rounded-full btn-sm btn-lihat-gambar\">Lihat Gambar</button>"
})
.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];
}
}
}