bps-rw/Controllers/DataRwController.cs

66 lines
2.3 KiB
C#

using Microsoft.AspNetCore.Mvc;
namespace BpsRwApp.Controllers
{
[Route("/[controller]/[action]")]
public class DataRwController : AppControllerBase
{
public IActionResult Index()
{
return View();
}
[HttpGet]
public IActionResult Table()
{
var data = Enumerable.Range(1, 50)
.Select(index =>
{
var wilayah = ControllerSampleData.WilayahSeeds[(index - 1) % ControllerSampleData.WilayahSeeds.Length];
var jumlahRumahMemilah = 520 + (index * 11 % 260);
var jumlahRumahNasabah = jumlahRumahMemilah + 40 + (index % 7) * 6;
var jumlahBankSampah = 40 + (index * 3 % 90);
var rw = index.ToString("D3");
var kecamatan = $"{wilayah.Kecamatan}, {wilayah.Kota}";
return new
{
rw,
kecamatan,
jumlah_rumah_memilah = jumlahRumahMemilah,
jumlah_rumah_nasabah = jumlahRumahNasabah,
jumlah_bank_sampah = jumlahBankSampah,
aksi = BuildActionButton(
rw,
kecamatan,
jumlahRumahMemilah,
jumlahRumahNasabah,
jumlahBankSampah)
};
})
.ToArray();
var response = new
{
data = data
};
return Json(response);
static string BuildActionButton(
string rw,
string kecamatan,
int jumlahRumahMemilah,
int jumlahRumahNasabah,
int jumlahBankSampah)
{
return "<div class=\"flex gap-2\">" +
$"<button type=\"button\" class=\"btn bg-white rounded-full btn-xs btn-view-detail\" data-rw=\"{rw}\" data-kecamatan=\"{kecamatan}\" data-jumlah-rumah-memilah=\"{jumlahRumahMemilah}\" data-jumlah-rumah-nasabah=\"{jumlahRumahNasabah}\" data-jumlah-bank-sampah=\"{jumlahBankSampah}\">" +
"Detail" +
"</button>" +
"</div>";
}
}
}
}