66 lines
2.3 KiB
C#
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>";
|
|
}
|
|
}
|
|
}
|
|
}
|